Raportul despre evoluția FreeBSD pentru al doilea trimestru din 2025

A fost publicat raportul de dezvoltare al proiectului FreeBSD pentru al doilea trimestru din 2025. Printre modificări se numără:

  • Echipa de bază FreeBSD dezvoltă reguli pentru utilizarea AI-ului și a modelelor lingvistice mari în procesul de dezvoltare. Printre posibilele aplicații ale AI-ului în FreeBSD se numără traducerea documentației, rezumarea documentelor mari/neclare, urmărirea erorilor și analiza codului. Generarea de cod folosind AI nu este prevăzută pentru moment, în principal din cauza posibilelor probleme de licențiere.
  • În instalator a fost adăugată suportul pentru sistemul pkgbase, care permite instalarea componentelor sistemului de bază într-un format potrivit pentru gestionare și actualizare cu ajutorul managerului de pachete pkg. Pachetele pkgbase pot fi livrate atât pe suportul de instalare pentru instalare offline, cât și descărcate din repository-ul pkg.freebsd.org.
  • Continuă dezvoltarea proiectului bsd-user-4-linux, care permite rularea aplicațiilor compilate pentru FreeBSD pe sisteme Linux. Obiectivul proiectului este de a putea construi pachete pentru FreeBSD în Linux, folosind unelte native de compilare FreeBSD. Pentru a rula fișierele executabile FreeBSD în Linux, este folosit un fork al emulatorului QEMU, care funcționează în modul de emulare a utilizatorului, destinat rulează procese compilate pentru alte CPU-uri și sisteme de operare (QEMU efectuează traducerea apelurilor de sistem și gestionarea semnalelor). În această etapă a dezvoltării, este deja posibil să recompilați FreeBSD cu comanda „make -j80 buildworld”, aflându-vă în Linux. Se poate deschide utilitare de bază ale sistemului, precum sh, bash, find, grep, git și clang. Printre modificările recente se numără trecerea la baza de cod QEMU 9.2 și implementarea suportului pentru mecanismul kqueue() în Linux, folosind libkqueue.
  • Pentru FreeBSD se dezvoltă platforma de virtualizare Sylve, care permite gestionarea lansării printr-o interfață web. mașini virtuale bazat pe hypervizorul Bhyve și containerele din medii Jail. Proiectul vizează oferirea de funcționalitate similară cu distribuția Linux Proxmox VE, dar bazată pe FreeBSD, Bhyve și ZFS. Schimbările din trimestrul al doilea includ adăugarea graficelor pentru vizualizarea încărcării CPU, consumului de RAM și activității de rețea, o interfață pentru gestionarea interfețelor de rețea, posibilități de lucru cu FS, partiții, piscine și snapshoturi ZFS, suport pentru încărcarea imaginilor de mașini virtuale prin interfața web, și opțiuni pentru crearea și ștergerea mașinilor virtuale pentru Bhyve cu suport pentru consola VNC, trecerea PCI a dispozitivelor și legarea la nuclee CPU selectate.
  • Portul libvirt pentru hypervizorul bhyve a fost îmbunătățit. A fost prezentat un proiect de testare a driverului bhyve din libvirt în sistemul de integrare continuă cu FreeBSD. Compatibilitatea driverului bhyve a fost crescută. A fost adăugată suportul pentru dispozitive virtio-rnd, configurarea NVRAM și statistici extinse. A fost implementat suportul pentru accesul la rețea prin NAT bazat pe filtrul de pachete pf.
  • Procesarea tlsbase pe sistemele amd64 a fost îmbunătățită, ceea ce a avut un impact pozitiv asupra funcționării aplicațiilor care gestionează manual TLS (Thread-Local Storage), cum ar fi Wine.
  • În linkerul rtld (Runtime linker) a fost implementată opțiunea „-z initfirst”, care oferă funcționalități suplimentare pentru gestionarea ordinii de inițializare în aplicațiile legate dinamic.
  • A fost adăugat suport pentru introspecția kqueue și extinse capacitățile de analiză a utilizării mecanismelor de procesare a evenimentelor din nucleu în procese. În utilitarul procstat a fost implementat un raport de stare pentru kqueue.
  • În nucleu a fost implementat un flag EXTERROR, care informează despre existența informațiilor extinse despre eroare. Cu ajutorul EXTERROR, aplicațiile pot obține informații diagnostice suplimentare în cazul în care apar erori, care nu se limitează la codul de eroare.
  • În baza de cod FreeBSD 15, generarea imaginilor de instalare și construirea pachetelor binare pentru arhitecturi de 32 de biți (i386 și powerpc) a fost oprită. Din platformele de 32 de biți din ramura FreeBSD 15, a rămas doar platforma armv7. Modul COMPAT_FREEBSD32, care permite rularea fișierelor executabile de 32 de biți în medii de 64 de biți, a fost păstrat, dar în porturi, suportul pentru construirea de 32 de biți va fi oprit.
  • În ramura FreeBSD 15, comportamentul apelurilor de sistem setgroups, getgroups și initgroups în procesarea grupurilor de utilizatori este apropiat de alte platforme (diferența de implementare în FreeBSD consta în stocarea identificatorului eficient al grupului de procese în primul element al array-ului cu lista grupurilor).
  • Se lucrează la înlocuirea implementării Kerberos în compunerea principală a FreeBSD din Heimdal Kerberos în MIT Kerberos. MIT Kerberos este deja inclus în ramura FreeBSD 15-CURRENT, dar este activat momentan doar prin opțiunea WITH_MITKRB5.
  • Au fost publicate primele versiuni ale aplicației SysctlTUI, care oferă o interfață text pentru navigarea prin arborele parametrilor sysctl, vizualizarea metadatelor asociate și modificarea setărilor.
    Raportul despre evoluția FreeBSD pentru al doilea trimestru din 2025
  • Se dezvoltă un nou manager de partiții Geomman (GEOM Manager), bazat pe sade, care oferă funcționalități suplimentare, precum mutarea, copierea și lipirea partițiilor de disc. Pe lângă UFS, Geomman suportă ext2, ext3, ext4, exFAT și NTFS, iar suportul pentru ZFS este planificat. Printre altele, este posibil să creșteți și să micșorați dimensiunea partițiilor existente cu sistemul de fișiere ext4 și să creați noi partiții exFAT.
  • S-a continuat lucrul la îmbunătățirea stivei audio FreeBSD. A avut loc curățarea driverului sound, a fost adăugată utilitatea sndctl, s-a implementat suportul AFMT_FLOAT, s-a îmbunătățit semnificativ funcționarea cu dispozitivele audio pe laptopuri și a început refactorizarea subsistemului MIDI.
  • S-a realizat portarea driverelor DRM (i915 și amdgpu) din nucleul Linux 6.9. Modificările sunt în curs de dezvoltare pentru ramura FreeBSD 15-CURRENT, dar probabil vor fi backportate în ramura 14-STABLE.
  • Se lucrează la adăugarea modurilor de economisire a energiei S0ix și s2idle (Suspend-To-Idle), care vor permite reducerea consumului de energie atunci când se folosește FreeBSD pe laptopuri moderne cu procesoare Intel și AMD, dintre care unele nu suportă modul de somn S3. Driverul USB4 a fost actualizat cu posibilitatea de a trece la modul de consum redus de energie C3.
  • Pentru ramura FreeBSD 15 se dezvoltă suportul pentru atributele numite ale fișierelor (atribute extinse în stil Solaris), care se preconizează a fi susținute ca un mecanism alternativ de gestionare a atribuitelor extinse, disponibil pentru ZFS și NFSv4. Diferențele față de metodele tradiționale de lucru cu atributele extinse în FreeBSD și Linux constau în reprezentarea atributelor într-un director de sistem, nevăzut în spațiul principal de nume F.S. și asociat cu fișierul. Lucrul cu atributele se face ca cu fișiere obișnuite; de exemplu, pentru a determina lista atributelor se poate executa funcția readdir().
  • Au fost pregătite patch-uri cu implementarea opțiunii de montare „packrat”, care permite o cache agresivă a datelor în stocarea locală nemotorizată de pe partea clientului pentru NFSv4.1/4.2.
  • Pe baza LinuxKPI, o stratură pentru rularea driverelor Linux pe FreeBSD, se dezvoltă un nou stack net80211 cu suport pentru standardele Wi-Fi 5 (802.11ac) și Wi-Fi 6 (802.11ax). Firmware-ul iwlwififw pentru driverul Intel iwlwifi a fost eliminat din sistemul de bază în favoarea instalării din porturi și utilizării utilitarului fwget. În linuxkpi este implementat suportul pentru wlan_tkip, permițând utilizarea protocoalelor criptografice TKIP (Temporal Key Integrity Protocol) și Michael (Message Integrity Code).
  • A fost implementat suportul pentru interfața de depanare furnizată în controlerele XHCI USB, care permite utilizarea unui cablu special USB 3 pentru gestionarea depanării nucleului FreeBSD. O astfel de interfață poate fi utilizată pentru depanarea problemelor din driverele grafice, care duc la erori de afișare.
  • Se lucrează la portarea pentru nucleul FreeBSD a implementării originale a sistemelor de fișiere HFS și HFS+, pentru care driverul a fost deschis de compania Apple.
  • A fost pregătit un port FreeBSD pentru smartphone-ul Pinephone Pro, incluzând firmware cu suport pentru gestionarea de pe ecranul tactil și un mediu desktop simplu. Din păcate, cu câteva zile în urmă, proiectul Pine64 a anunțat încetarea producției și vânzării smartphone-urilor PinePhone Pro.
  • Numărul porturilor a crescut de la 36332 la 36605. Printre actualizările din porturi se numără: 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, serverul Xorg 21.1.18. În mod implicit, sunt utilizate versiunile Go 1.24, Perl 5.40, Ruby 3.3, PostgreSQL 17. Mediu pentru Linuxulator a fost actualizat la Rocky Linux 9.
  • A fost adăugat suport opțional pentru compilarea porturilor cu specificarea flag-urilor de compilare, inclusiv moduri suplimentare de întărire a securității. În make.conf sunt implementate setările:
    • WITH_FORTIFY pentru protecția împotriva depășirii buffer-ului prin adăugarea de verificări suplimentare în funcții precum memcpy, strcpy și sprintf;
    • WITH_STACK_AUTOINIT pentru inițializarea automată a variabilelor locale;
    • WITH_ZEROREGS pentru protecția împotriva exploiturilor ROP (Return-Oriented Programming) și scurgerilor de informații prin registrele CPU.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster