Gli sviluppatori di FreeBSD hanno pubblicato il rapporto di sviluppo per il quarto trimestre del 2024, nel quale si menziona il progetto bsd-user-4-linux, che sviluppa un toolkit per eseguire applicazioni costruite per FreeBSD su Linux. L'obiettivo del progetto è raggiungere la capacità di compilazione autonoma, utilizzando il toolkit di FreeBSD su Linux, oltre alla possibilità di compilare pacchetti per FreeBSD su Linux, utilizzando il nativo toolkit di compilazione di FreeBSD.
Per eseguire file eseguibili di FreeBSD viene utilizzato un fork dell'emulatore QEMU, che opera in modalità User Mode Emulation, progettata per l'esecuzione di processi compilati per altre CPU e sistemi operativi. In questa modalità, QEMU esegue la traduzione delle chiamate di sistema e la gestione dei segnali. Per avviare le applicazioni è necessario il dispiegamento nella directory locale di librerie e impostazioni dal sistema di base di FreeBSD. Il progetto può essere considerato come BSDlator — un'analoga inversa di Linuxulator.
Attualmente, lo sviluppo si concentra sul lancio delle principali utilità di sistema (sh, bash, find, grep, git, clang, ecc.), è supportato il collegamento dinamico e le librerie condivise, e sono disponibili le funzioni di rete. Ad esempio, è già possibile ricompilare FreeBSD con il comando «make -j80 buildworld» mentre ci si trova in Linux. Tra le funzionalità mancanti, si segnala l'impossibilità di avviare il debugger GDB, l'assenza di IPC, delle funzioni kevent/kqueue e di alcuni sysctl (ad esempio, name2oid).
Il progetto si occupa inoltre della preparazione di immagini container con un ambiente di lavoro FreeBSD per diverse architetture (linux/386, linux/amd64, linux/arm/v5 e linux/arm64/v8) e della fornitura di GitHub Actions per la creazione di tali immagini.
Tra gli altri eventi riportati nel rapporto trimestrale di FreeBSD, possiamo evidenziare:
- L'utilità mdo per eseguire comandi come un altro utente, simile all'utilità su, ma che utilizza il modulo del kernel mac_do invece di setuid e la chiamata di sistema setcred.
- Sviluppo del driver AMD IOMMU per FreeBSD.
- Progetto per migliorare le prestazioni di FreeBSD sui laptop.
- Progetto di modernizzazione dell'infrastruttura.
- Lavoro per supportare le modalità di basso consumo energetico S0ix e s2idle (Suspend-To-Idle).
- Miglioramento delle prestazioni della piattaforma OpenStack su FreeBSD.
- Miglioramento del stack audio di FreeBSD.
- Ottimizzazione delle prestazioni di OpenJDK su FreeBSD.
- Modernizzazione del gestore pacchetti pkg per il progetto PkgBase (formattazione dei componenti del sistema di base in un formato adatto per la gestione e l'aggiornamento tramite il gestore pacchetti pkg).
- Ripresa del lavoro sul driver umb per modem MBIM USB 4G/5G.
- Porting del driver iwx da OpenBSD per chip Wi-Fi Intel.
- Continuazione del lavoro sul layer LinuxKPI per l'esecuzione dei driver Linux sui chip wireless.
- Il numero di porte è diminuito da 36504 a 36332. Nelle porte sono stati aggiornati Xfce 4.20, LXQt 2.1.0, PHP 8.3, KDE Plasma 6.2.4, Qt 6.8.1, Python 3.9.21, Python 3.11.11, Ruby 3.3.6, Rust 1.83.0, SDL 3.1.6, Sway 1.10, Tor Browser 14.0.3.
- Audit di sicurezza del codice dei sottosistemi bhyve e Capsicum completato.
- In collaborazione con l'azienda Framework, si sta lavorando al supporto dei laptop Framework su FreeBSD (già annunciato il supporto per il Framework Laptop 13 basato su AMD Ryzen 7040).
- È in corso il lavoro per aggiungere modalità di ripristino e aggiornamento nel programmatore, nonché la possibilità di installare pacchetti in ambienti Live.
- Continua il porting di FreeBSD sullo smartphone Pinephone Pro.
- Stanno evolvendo gli strumenti AppJail, Director e LittleJet per gestire container compatibili con OCI su FreeBSD, utilizzando il meccanismo di isolamento del jail di FreeBSD.
- Si sta sviluppando lo strumento Pot per la gestione dei container basati su ambienti jail, ZFS, pf e rctl, con supporto per l'integrazione con la piattaforma di orchestrazione dei container nomad. È previsto un catalogo di immagini del container Potluck, che funge da analogo di Dockerhub per FreeBSD.
- È in fase di sviluppo un'interfaccia grafica per la gestione del sistema di virtualizzazione basato sul hypervisor Bhyve. Per questo sviluppo viene utilizzato Freepascal/Lazarus.
Fonte: opennet.ru
