Po sześciu miesiącach prac rozwojowych opublikowano wydanie FreeBSD 14.3. obrazy instalacyjne zostały przygotowane dla architektur amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 i riscv64. Dodatkowo przygotowano pakiety dla systemów wirtualizacji (QCOW2, VHD, VMDK, raw) oraz środowisk chmurowych Amazon EC2, Google Compute Engine i Vagrant.
Następna aktualizacja FreeBSD 14.4 jest zaplanowana na marzec 2026 roku. Wsparcie dla obecnej wersji FreeBSD 14.3 będzie prowadzone do 30 czerwca 2026 roku, a dla wcześniejszej wersji FreeBSD 14.2 do 30 września 2025 roku. Ogólnie, gałąź FreeBSD 14 będzie wspierana do 30 listopada 2028 roku, a gałąź FreeBSD 13.x do 30 kwietnia 2026 roku. Pierwsze wydanie następnej znaczącej gałęzi FreeBSD 15, w której wsparcie dla architektur 32-bitowych (z wyjątkiem armv7 i trybu COMPAT_FREEBSD32) zostanie zakończone, planowane jest na grudzień 2025 roku.
Główne zmiany w FreeBSD 14.3:
- W warstwie LinuxKPI, stosowanej do uruchamiania sterowników Linuxa w FreeBSD, wprowadzono wsparcie dla standardów Wi-Fi 4 (802.11n) i Wi-Fi 5 (802.11ac), a także przeniesiono operacje szyfrowania na stronę adapterów sieciowych. Wskazane możliwości zostały wdrożone w sterowniku iwlwifi, opartym na kodzie tego samego sterownika z jądra Linuxa i obsługującym bezprzewodowe chipy Intela stosowane w nowoczesnych laptopach. Firmwary iwlwififw dla sterownika Intel iwlwifi zostały usunięte z systemu bazowego na rzecz instalacji z portów i użycia narzędzia fwget.
Dostosowano do pracy i usunięto wycieki pamięci ze sterownika rtw88 dla bezprzewodowych chipów Realtek z obsługą 802.11n/ac (RTL8723DE, RTL8821CE, RTL8822*), który również wykorzystuje kod z Linuxa przy pomocy LinuxKPI.
- W repozytoriach Docker i GitHub rozpoczęto publikację obrazów kontenerów w formacie OCI.
- Zaktualizowano wersje komponentów zewnętrznych: LLVM 19.1.7 (wcześniej 18.1.6), OpenSSH 9.9p2, OpenZFS 2.2.7, xz 5.8.1, expat 2.7.1, less 668, file 5.46, OpenSSL 3.0.16.
- Dla systemów ARM64 dodano wsparcie dla hotplugowania kart PCIe.
- W API MAC (Mandatory Access Control) wdrożono wsparcie dla parametrów do przypinania polityk do środowisk jail.
- Dodano wywołanie systemowe setcred do atomowej zmiany danych uwierzytelniających procesu, takich jak euid, ruid, grupy i etykiety kontroli dostępu. Przygotowano narzędzie mdo do uruchamiania poleceń jako inny użytkownik, podobne do narzędzia su, ale wykorzystujące zamiast setuid moduł jądra mac_do i wywołanie systemowe setcred.
- W module mac_do, który umożliwia ustalanie polityk zezwalających nieuprzywilejowanym użytkownikom na zmianę poświadczeń procesów, dozwolone jest stosowanie jednej reguły dla wielu użytkowników i grup.
- Dodano wsparcie dla powiązania działania sysctl z określonym środowiskiem jail, co pozwala na przeglądanie i zmianę stanu jądra z rodzicielskiego środowiska w potomnym jail. Do narzędzia sysctl dodano flagi do filtrowania zmiennych powiązanych z jail i vnet. Przykładowo, aby ustawić parametr net.fibs w jail o nazwie „foo”, można teraz wykonać „sysctl -j foo net.fibs=2.”
- Do narzędzia ip6addrctl dodano opcję „-j” do stosowania ustawień w powiązaniu z określonym środowiskiem jail, co ułatwia zarządzanie adresami w wirtualnym stosie sieciowym w jail.
- Do filtra pakietów pf dodano parametr ‘net.pf.default_to_drop’ dla włączenia trybu domyślnego odrzucania pakietów. Wartość może być ustawiana w powiązaniu z wirtualnymi stosami sieciowymi (vnet) w jail.
- Zezwolono na zmianę parametrów sysctl wirtualnego stosu sieciowego (vnet) z poziomu początkowego bootloadera.
- W podsystemie dźwiękowym wprowadzono dynamiczne przydzielanie (w razie potrzeby) wirtualnych kanałów (vchan) do nagrywania i odtwarzania dźwięku.
- Zaktualizowano i aktywowano w podstawowym jądrze (GENERIC) sterownik mpi3mr dla kontrolerów PCIe Broadcom MPIMR 3.0 IT/IR SAS.
- Sterowniki rtw88 i rtw89 dla bezprzewodowych adapterów na chipach Realtek zsynchronizowano z jądrem Linux 6.14.
- Dodano wsparcie dla adapterów Bluetooth Intel 9260/9560 do oprogramowania iwmbtfw i portu iwmbt-firmware.
- Rozszerzono wsparcie dla kontrolerów Ethernet w sterownikach ix (Intel), igc (Intel) i bnxt (Broadcom).
- Udoskonalone wsparcie dla podłączania na gorąco urządzeń w chmurowych środowiskach AWS EC2 opartych na architekturach x86 i arm64 („Graviton”).
- W narzędziu ps zmieniono logikę przetwarzania flagi „-U”, która teraz filtruje procesy według RUID (Real User ID), a nie EUID (Effective User ID), jak to określono w specyfikacji POSIX.
- W narzędziu grep domyślnie zaprzestano śledzenia linków symbolicznych podczas rekursywnego wyszukiwania.
- Do ustawień menedżera pakietów pkg (/etc/pkg/FreeBSD.conf) dodano nowe repozytorium FreeBSD-kmods, zawierające moduły kernela zbudowane dla wydania 14.3-RELEASE.
- Ogłoszono przestarzałość bazy otwartych kluczy /etc/publickey, uzależnionej od algorytmu DES.
- Dodano ostrzeżenie o usunięciu menedżera logicznych wolumenów gvinum w gałęzi FreeBSD 15. Rozwój Gvinum został zatrzymany około 15 lat temu, mimo że w kodzie występuje szereg znanych problemów, które nikt się nie zajął, aby je naprawić. Zamiast gvinum zaleca się używanie gconcat, gmirror, gstripe, graid lub zfs.
- Dodano ostrzeżenie o nadchodzącym usunięciu sterownika konsoli syscons, który jest niekompatybilny z UEFI, nie obsługuje UTF-8 i nie pozbyto się globalnej blokady jądra. To, w której wersji wsparcie dla syscons zostanie zakończone, nie jest jeszcze określone, ale oczekuje się, że usunięcie globalnej blokady jądra nastąpi w FreeBSD 16.
Źródło: opennet.ru
