Bol publikovaný modul BSDun na spúšťanie spustiteľných súborov FreeBSD. Linux

Projekt BSDun, vývojový modul pre jadro, bol publikovaný. Linux, čo vám umožňuje rozpoznať, načítať a spustiť Linux Nemodifikované spustiteľné súbory vo formáte ELF, vytvorené pre FreeBSD. Bežia v emulovanom prostredí FreeBSD, ktoré sa nachádza v adresári /compat/freebsd. Celkovo je projekt úplným opakom FreeBSD. Linuxprepínač. Kód je distribuovaný pod licenciou GPLv2+ a bol napísaný pomocou asistenta umelej inteligencie Claude Code.

Pomocou BSDunu sa mi podarilo úspešne spustiť Linux Mnoho aplikácií z balíkov FreeBSD vrátane pkg, nginx, mc, ping, xeyes, xfce4-panel, Thunar, xfce4-terminal, Libreoffice, Midori, Epiphany, Chromium a VScode. Na spustenie Chromium a VScode je potrebné vypnúť izoláciu sandboxu a obmedziť videopamäť pomocou možností „--no-sandbox --force-gpu-mem-available-mb=1024“.

Modul si nenárokuje byť súčasťou hlavného jadra, pretože rozhranie Solaris ABI bolo z architektúry jadra odstránené. Linux Neumožňuje zahrnutie iných spustiteľných obslužných programov (OS Personalities) a vyžaduje iba jednu tabuľku systémových volaní. Na obídenie tohto problému BSDun použil mechanizmus kprobe, ktorý zachytáva všetky systémové volania.

Pomocou kprobe boli systémové volania FreeBSD oddelené od systémových volaní. Linux a boli zabalené v samostatnej tabuľke. Jedna časť systémových volaní FreeBSD bola priamo viazaná na systémové volania Linux, v inom prípade bola štruktúra parametrov a výsledkov prebaľovaná, tretí bol nahradený stubmi (napríklad súvisiacimi s Capcicum) a štvrtý bol implementovaný na základe vnútorných štruktúr jadra. LinuxNa implementáciu mechanizmu kevent/kqueue nad funkciou epoll() bola použitá samostatná modifikácia komponentov používateľského priestoru, ktorá sa automaticky vykoná pri načítaní každého spustiteľného súboru FreeBSD.

Celkovo je implementovaných približne 250 systémových volaní. Implementované sú aj SystemV IPC, sieťové funkcie, futexy, sysctl MIB, prctl, časovače a ioctl. Na oddelenie súborových systémov sa používa prostredie chroot. Linux (počas experimentov bez chrootu autor spustením príkazu „pkg install …“ prepísal obsah súboru /usr/local/* v LinuxNiektoré nástroje však môžu fungovať aj bez chrootu.

Navrhovaný modul je možné použiť na vývoj, zostavenie a portovanie softvéru pre FreeBSD bez použitia virtuálne strojeStručný návod na použitie: make make load ./bsdun-freebsd-root-resetup.sh ./bsdun-freebsd-enter.sh uname -a Hostiteľ FreeBSD 16.0-CURRENT FreeBSD 16.0-CURRENT (bsdun) amd64

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster