Kísérleti BSDun kernelmodul: FreeBSD binárisok futtatása Linuxon

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A BSDun nevű új, kísérleti projekt valami egészen szokatlant próbál adni a Linuxnak: azt a képességet, hogy módosítás nélkül, közvetlenül futtassa a FreeBSD binárisokat Linux rendszeren.

A BSDun egy Linux kernel modul, amely megtanítja a kernel-t felismerni és betölteni a FreeBSD ELF végrehajtható állományokat. Betöltés után ezek a programok a /compat/freebsd alatt elérhető FreeBSD userland ellen futnak, így a Linux újrafordítás nélkül tud FreeBSD eszközöket futtatni.

A projekt saját meghatározása szerint a FreeBSD Linuxulator tükörképe. Míg a Linuxulator lehetővé teszi, hogy FreeBSD rendszerek Linux binárisokat futtassanak, a BSDun az ellenkező irányt valósítja meg: Linux alatt futtat FreeBSD binárisokat.

Műszaki szempontból a BSDun úgy működik, hogy FreeBSD ELF kezelőt regisztrál a Linux bináris formátumláncába. Programindításkor a modul ellenőrzi, hogy az adott fájl FreeBSD bináris-e, az ELF OSABI mező vagy egy FreeBSD ABI note alapján.

Ha nem az, a BSDun félreáll, és a Linux a szokásos módon kezeli a fájlt. Ha igen, a BSDun betölti az ELF képet, előkészít egy FreeBSD-stílusú auxiliary vectort, és a futási környezetet a FreeBSD kompatibilitási gyökérre irányítja át.

Ez a kompatibilitási gyökér alapértelmezés szerint a /compat/freebsd. A projekt arra számít, hogy a felhasználók ide telepítik a FreeBSD alaprendszert, beleértve a FreeBSD dinamikus betöltőjét és a libc-t is.

A projekt README-je szerint a BSDun már most képes valódi FreeBSD binárisokat elejétől a végéig lefuttatni, beleértve a FreeBSD /bin/sh shelljét is. A szerző beszámolója alapján működik a támogatás a statikusan linkelt eszközökre és a dinamikusan linkelt programokra is, a FreeBSD ld-elf.so.1 betöltőjén és olyan könyvtárakon keresztül, mint a libc.so.7 és a libthr.so.3.

A leírás szerint működnek a shell funkciók, a külső parancsok futtatása, a pipeline-ok, az átirányítás, a hálózatkezelés, a DNS feloldás, a FreeBSD pkg csomagkezelője, a ping, a kqueue/kevent, a szálkezelés, a dinamikusan linkelt alaprendszer-eszközök, valamint olyan gyakori parancssori eszközök, mint a sed, awk, grep, find, stat, tail és sok más.

Mindez azonban továbbra is kísérleti munka. A BSDun nem része a Linux kernel főágának, és az átlagfelhasználóknak nem szabad stabil alrendszerként tekinteniük rá. Egy kernel modulra támaszkodik, FreeBSD syscall-fordításra, ELF betöltési logikára, szignálkezelés-fordításra, fájlrendszer-átgyökerezésre, hálózati struktúrák fordítására, valamint több, „best-effort” jellegű kompatibilitási leképezésre a FreeBSD és a Linux ABI-k között.

Fontos megszorítás a security szemantika. A projekt megjegyzi, hogy bizonyos Capsicumhoz kapcsolódó hívásokat sikeres no-opként fogad el, mivel a Linux nem kínálja a FreeBSD Capsicum sandbox modelljét. Emiatt egyes szoftverek ugyan elindulhatnak, de nem pontosan ugyanazzal a security viselkedéssel, mint FreeBSD alatt.

Az ötlet ennek ellenére kifejezetten izgalmas. A „Képes a Linux közvetlenül kiszolgálni egy másik Unix-szerű operációs rendszer bináris interfészét?” kérdésre jelenleg az a válasz, hogy „részben, kísérletileg és meglepően jól”.

A projekt mindössze néhány napos a GitLab oldala szerint: 2026. június 23-án hozták létre, és egyelőre nincs egyetlen címkézett kiadása sem. Mindenképpen figyelni fogjuk, hogyan alakul a jövőben.

További részletekért nézd meg a projekt GitLab oldalát.