Byl publikován BSDun, modul pro spouštění spustitelných souborů FreeBSD. Linux

Projekt BSDun, vývojový modul pro jádro, byl publikován. Linux, který vám umožňuje rozpoznat, načíst a spustit Linux Nemodifikované spustitelné soubory ve formátu ELF, vytvořené pro FreeBSD. Běží v emulovaném prostředí FreeBSD umístěném v adresáři /compat/freebsd. Celkově je projekt úplným opakem FreeBSD. Linuxpřevodník. Kód je distribuován pod licencí GPLv2+ a byl napsán s využitím asistenta umělé inteligence Claude Code.

Pomocí BSDunu se mi podařilo úspěšně spustit Linux Mnoho aplikací z balíčků FreeBSD, včetně pkg, nginx, mc, ping, xeyes, xfce4-panel, Thunar, xfce4-terminal, Libreoffice, Midori, Epiphany, Chromium a VScode. Pro spuštění Chromia a VScode je třeba vypnout izolaci sandboxu a omezit videopaměť pomocí možností „--no-sandbox --force-gpu-mem-available-mb=1024“.

Modul si nenárokuje být součástí hlavního jádra, protože rozhraní Solaris ABI bylo z architektury jádra odstraněno. Linux Neumožňuje zahrnutí dalších spustitelných obslužných programů (OS Personalities) a vyžaduje pouze jednu tabulku systémových volání. Pro obejití tohoto problému BSDun použil mechanismus kprobe, který zachycuje všechna systémová volání.

Pomocí kprobe byla systémová volání FreeBSD oddělena od systémových volání. Linux a byly zabaleny v samostatné tabulce. Jedna část systémových volání FreeBSD byla přímo vázána na systémová volání Linux, u dalšího byla přebalena struktura parametrů a výsledků, třetí byl nahrazen stuby (například souvisejícími s Capcicum) a čtvrtý byl implementován na základě vnitřních struktur jádra. LinuxPro implementaci mechanismu kevent/kqueue nad funkcí epoll() byla použita samostatná modifikace uživatelských komponent, která se automaticky provádí při načítání každého spustitelného souboru FreeBSD.

Celkem je implementováno přibližně 250 systémových volání. Implementován je také SystemV IPC, síťové funkce, futexy, sysctl MIB, prctl, časovače a ioctl. Na straně je použito prostředí chroot pro oddělení souborových systémů. Linux (během experimentů bez chrootu autor spuštěním „pkg install …“ přepsal obsah souboru /usr/local/* v LinuxNěkteré utility však mohou fungovat i bez chrootu.

Navrhovaný modul lze použít k vývoji, sestavování a portování softwaru pro FreeBSD bez použití... virtuální strojeStručný návod k použití: make make load ./bsdun-freebsd-root-resetup.sh ./bsdun-freebsd-enter.sh uname -a Hostitel FreeBSD 16.0-CURRENT FreeBSD 16.0-CURRENT (bsdun) amd64

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster