Report sullo sviluppo di FreeBSD per il secondo trimestre del 2025

È stato pubblicato il rapporto sullo sviluppo del progetto FreeBSD per il secondo trimestre del 2025. Tra le novità si segnalano:

  • Il FreeBSD Core Team sta sviluppando delle linee guida sull'uso dell'AI e dei modelli linguistici avanzati nello sviluppo. Tra le possibili applicazioni dell'AI in FreeBSD figurano la traduzione della documentazione, il riassunto di documenti complessi o poco comprensibili, il monitoraggio degli errori e l'analisi del codice. Attualmente non si prevede l'uso dell'AI per la generazione di codice, principalmente a causa di potenziali problemi di licenza.
  • È stata aggiunta al programma di installazione la supporto per il sistema pkgbase, che consente di installare componenti del sistema base in un formato adatto per la gestione e l'aggiornamento tramite il gestore di pacchetti pkg. I pacchetti pkgbase possono essere forniti sia su supporti di installazione per installazioni offline, sia scaricati dal repository pkg.freebsd.org.
  • Continua lo sviluppo del progetto bsd-user-4-linux, che consente di eseguire applicazioni compilate per FreeBSD sui sistemi Linux. L'obiettivo del progetto è di permettere la creazione di pacchetti per FreeBSD su Linux, utilizzando gli strumenti di compilazione nativi di FreeBSD. Per eseguire file eseguibili FreeBSD su Linux è stato utilizzato un fork dell'emulatore QEMU, che opera in modalità User Mode Emulation, pensata per eseguire processi compilati per altre CPU e sistemi operativi (QEMU traduce le chiamate di sistema e gestisce i segnali). Attualmente, è possibile ricompilare FreeBSD con il comando "make -j80 buildworld" mentre si trova in Linux. Funzionano le principali utilità di sistema, come sh, bash, find, grep, git e clang. Tra le recenti modifiche, si segnala il passaggio alla base di codice QEMU 9.2 e l'implementazione del supporto al meccanismo kqueue() in Linux, utilizzando libkqueue.
  • Per FreeBSD si sta sviluppando la piattaforma di virtualizzazione Sylve, che consente di gestire l'avvio tramite un'interfaccia web. di macchine virtuali basato su hypervisor Bhyve e container basati su Jail. Il progetto si propone di offrire funzionalità simili a quelle della distribuzione Linux Proxmox VE, ma basato su FreeBSD, Bhyve e ZFS. Tra le novità del secondo trimestre si segnala l'aggiunta di grafici per la visualizzazione del carico della CPU, del consumo di RAM e dell'attività di rete, un'interfaccia per gestire le interfacce di rete, funzionalità per gestire file system, partizioni, pool e snapshot ZFS, supporto per il caricamento delle immagini delle macchine virtuali tramite interfaccia web, possibilità di creare ed eliminare macchine virtuali per Bhyve con supporto per la console VNC, pass-through di dispositivi PCI e binding ai core CPU selezionati.
  • Migliorato il porting di libvirt per l'hypervisor bhyve. Introdotto un progetto di test del driver bhyve di libvirt all'interno di un sistema di integrazione continua con FreeBSD. Aumentata la compatibilità del driver bhyve. Aggiunto supporto per dispositivi virtio-rnd, configurazione NVRAM e statistiche avanzate. Implementato il supporto per l'accesso di rete tramite NAT basato su filtro pacchetti pf.
  • Migliorata la gestione di tlsbase sui sistemi amd64, beneficiando le prestazioni delle applicazioni che gestiscono manualmente TLS (Thread-Local Storage), come Wine.
  • В компоновщике rtld (Runtime linker) реализована опция «-z initfirst», предоставляющая дополнительные возможности для управления порядком инициализации в динамически связываемых приложениях.
  • Добавлена поддержка интроспекции kqueue и расширены возможности для анализа использования в процессах механизмов обработки событий ядра. В утилите procstat реализован вывод отчёта о состоянии kqueue.
  • В ядре реализован флаг EXTERROR, информирующий о наличии расширенной информации об ошибке. При помощи EXTERROR приложения могут получать дополнительные диагностические сведения при возникновении ошибок, не ограничивающиеся кодом ошибки.
  • В кодовой базе FreeBSD 15 прекращено формирование установочных образов и сборок бинарных пакетов для 32-разрядных архитектур i386 и powerpc. Из 32-разрядных платформ в ветке FreeBSD 15 оставлена только платформа armv7. Режим COMPAT_FREEBSD32, позволяющий запускать 32-разрядные исполняемый файлы в 64-разрядных окружениях, оставлен, но в портах поддержка 32-разрядных сборок будет прекращена.
  • Nel ramo FreeBSD 15, il comportamento delle chiamate di sistema setgroups, getgroups e initgroups nella gestione dei gruppi utente è stato avvicinato ad altre piattaforme (la differenza nella realizzazione in FreeBSD consisteva nella memorizzazione dell'identificativo di gruppo efficace del processo nel primo elemento dell'array contenente l'elenco dei gruppi).
  • È in corso il lavoro per sostituire l'implementazione di Kerberos nel core di FreeBSD da Heimdal Kerberos a MIT Kerberos. MIT Kerberos è già incluso nel ramo FreeBSD 15-CURRENT, ma al momento viene attivato solo tramite l'opzione WITH_MITKRB5.
  • Sono stati pubblicati i primi rilasci dell'applicazione SysctlTUI, che fornisce un'interfaccia testuale per navigare nella struttura degli parametri sysctl, visualizzare i metadati associati e modificare le impostazioni.
    Report sullo sviluppo di FreeBSD per il secondo trimestre del 2025
  • È attualmente in fase di sviluppo un nuovo gestore di partizioni, Geomman (GEOM Manager), basato su sade e offrendo funzionalità aggiuntive come lo spostamento, la copia e l'incollaggio delle partizioni su disco. Oltre a UFS, Geomman supporta ext2, ext3, ext4, exFAT e NTFS, con il supporto per ZFS pianificato. Tra le altre cose, è possibile aumentare e ridurre le dimensioni delle partizioni esistenti con il file system ext4 e creare nuove partizioni exFAT.
  • Continua il lavoro per il miglioramento dello stack audio di FreeBSD. È stata effettuata una pulizia del driver sound, aggiunta l'utility sndctl, implementato il supporto per AFMT_FLOAT, notevolmente migliorando il funzionamento dei dispositivi audio sui laptop, e sono iniziati i lavori di refactoring del sottosistema MIDI.
  • È stata completata la portazione dei driver DRM (i915 e amdgpu) dal kernel Linux 6.9. Le modifiche sono in fase di sviluppo per il ramo FreeBSD 15-CURRENT, ma probabilmente saranno retroportate nel ramo 14-STABLE.
  • È in corso il lavoro per l'aggiunta delle modalità di basso consumo energetico S0ix e s2idle (Suspend-To-Idle), che consentiranno di ridurre il consumo energetico durante l'uso di FreeBSD su moderni laptop con processori Intel e AMD, alcuni dei quali non supportano la modalità di sospensione S3. Nel driver USB4 è stata aggiunta la possibilità di passare alla modalità di ridotto consumo energetico C3.
  • Per la branch FreeBSD 15, è in fase di sviluppo il supporto per gli attributi di file nominati (attributi estesi in stile Solaris), che si prevede di supportare come meccanismo alternativo per la gestione degli attributi estesi, disponibile per ZFS e NFSv4. Le differenze rispetto ai metodi tradizionali di gestione degli attributi estesi in FreeBSD e Linux si riducono alla presentazione degli attributi in una directory di sistema, non visibile nella principale namespace FS e associata al file. La gestione degli attributi avviene come con file normali, ad esempio, per ottenere l'elenco degli attributi è possibile eseguire la funzione readdir().
  • Sono stati preparati patch con l'implementazione dell'opzione di montaggio 'packrat', che consente di organizzare per NFSv4.1/4.2 una cache aggressiva dei dati in uno storage non volatile locale sul lato client.
  • Basato su LinuxKPI, uno strato per l'esecuzione dei driver Linux su FreeBSD, si sviluppa un nuovo stack net80211 con supporto per gli standard Wi-Fi 5 (802.11ac) e Wi-Fi 6 (802.11ax). I firmware iwlwififw per il driver Intel iwlwifi sono stati rimossi dal sistema di base in favore dell'installazione dai port e dell'utilizzo dell'utilità fwget. In linuxkpi è implementato il supporto per wlan_tkip, permettendo l'uso dei protocolli crittografici TKIP (Temporal Key Integrity Protocol) e Michael (Message Integrity Code).
  • È stato implementato il supporto per l'interfaccia di debug fornita nei controller XHCI USB che consente di utilizzare un cavo USB 3 speciale per gestire il debug del kernel di FreeBSD. Tale interfaccia può essere utilizzata per il debug di problemi nei driver grafici che portano a malfunzionamenti dell'output.
  • Si sta lavorando al porting per il kernel di FreeBSD dell'implementazione originale dei file system HFS e HFS+, il driver per i quali è stato reso disponibile da Apple.
  • È stato preparato un port per FreeBSD per lo smartphone Pinephone Pro, che include un firmware con supporto per la gestione tramite touchscreen e un semplice ambiente desktop. Purtroppo, pochi giorni fa il progetto Pine64 ha annunciato la cessazione della produzione e la fine delle vendite degli smartphone PinePhone Pro.
  • Il numero di porti è aumentato da 36332 a 36605. Tra gli aggiornamenti nei porti: GCC 15, OpenJDK 24.0.1, GNOME 47, KDE Plasma 6.4.1, KDE Framework 6.15.0, Sway 1.11, Qt 6.9.1, Ruby 3.4.4, Rust 1.87.0, SDL 3.2.16, server Xorg 21.1.18. Per impostazione predefinita sono attivate le versioni Go 1.24, Perl 5.40, Ruby 3.3, PostgreSQL 17. L'ambiente per Linuxulator è stato aggiornato a Rocky Linux 9.
  • È stata aggiunta la supporto opzionale per la compilazione dei porti specificando i flag del compilatore, che includono modalità di potenziamento della sicurezza aggiuntive. Sono state implementate le impostazioni in make.conf:
    • WITH_FORTIFY per la protezione contro i buffer overflow attraverso l'aggiunta di controlli aggiuntivi in funzioni come memcpy, strcpy e sprintf;
    • WITH_STACK_AUTOINIT per l'inizializzazione automatica delle variabili locali;
    • WITH_ZEROREGS per la protezione contro gli exploit ROP (Return-Oriented Programming) e la perdita di informazioni attraverso i registri CPU.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster