ËshtĂ« publikuar BSDun, njĂ« modul pĂ«r ekzekutimin e skedarĂ«ve ekzekutues FreeBSD nĂ« Linux

Projekti BSDun është botuar, duke zhvilluar një modul për kernelin Linux, i cili lejon njohjen, ngarkimin dhe ekzekutimin e skedarëve ekzekutivë të formatit ELF, të ndërtuar për FreeBSD, në Linux pa modifikime. Për ekzekutimin përdoret një mjedis i imituar FreeBSD, i vendosur në katalogun /compat/freebsd. Në përgjithësi, projekti është një kundërshtim i plotë i Linuxulator të FreeBSD. Kodi shpërndahet nën licencën GPLv2+ dhe është shkruar me ndihmën e asistentit AI Claude Code.

Me anĂ« tĂ« BSDun, Ă«shtĂ« arritur tĂ« ekzekutohen me sukses shumĂ« aplikacione nga paketat FreeBSD nĂ« Linux, pĂ«rfshirĂ« pkg, nginx, mc, ping, xeyes, xfce4-panel, Thunar, xfce4-terminal, Libreoffice, Midori, Epiphany, Chromium dhe VScode. PĂ«r ekzekutimin e Chromium dhe VScode kĂ«rkohet çaktivizimi i izolimit tĂ« sandbox dhe kufizimi i madhĂ«sisĂ« sĂ« memories grafike me opsionet "—no-sandbox —force-gpu-mem-available-mb=1024."

Moduli nuk pretendon të përfshihet në përbërjen kryesore të kernelit, pasi që nga momenti i heqjes së ABI Solaris, arhitektura e kernelit Linux nuk lejon përfshirjen e trajtuesve të tjerë të skedarëve ekzekutivë (OS Personalities) dhe parashikon vetëm një tabelë thirrjesh sistemike. Për të anashkaluar këtë problem, BSDun ka përdorur mekanizmin kprobe, i cili kap të gjitha thirrjet sistemike.

Me anë të kprobe, thirrjet sistemike FreeBSD u ndanë nga thirrjet sistemike Linux dhe u mbështollën në një tabelë të veçantë. Një pjesë e thirrjeve sistemike FreeBSD lidhej drejtpërdrejt me thirrjet sistemike Linux, për një tjetër skuadra struktura e parametrave dhe rezultatit u rishkrua, një e katërta zëvendësohej me mbushëse (p.sh., ato që lidhen me Capcicum), ndërsa e katërta u implementua mbi bazën e strukturave të brendshme të kernelit Linux. Për të realizuar mekanizmin kevent/kqueue mbi epoll(), është aplikuar veçmas modifikimi i komponenteve në hapësirën e përdoruesit, i automatik për çdo ngarkim të skedarit ekzekutiv FreeBSD.

Në total janë realizuar rreth 250 thirrje sistemike. Gjithashtu janë implementuar SystemV IPC, funksionet rrjet, futex, sysctl MIB, prctl, timerat dhe ioctl. Për ndarjen e sistemeve të skedarëve është përdorur mjedisi chroot në anën e Linux (në procesin e eksperimenteve pa chroot, autori ekzekutoi "pkg install 
" dhe përmbysi përmbajtjen e /usr/local/* në Linux). Megjithatë, disa utilitare ende mund të funksionojnë pa chroot.

Moduli i propozuar mund të përdoret për zhvillimin, ndërtimin dhe portimin e software-it për FreeBSD pa përdorim. makinat virtuale. Udhëzues i shkurtër për përdorim: make make load .\/bsdun-freebsd-root-resetup.sh .\/bsdun-freebsd-enter.sh uname -a FreeBSD host 16.0-CURRENT FreeBSD 16.0-CURRENT (bsdun) amd64

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster