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
