Релиз FreeBSD 14.3

После шести месяцев разработки сформирован релиз FreeBSD 14.3. Установочные образы подготовлены для архитектур amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 и riscv64. Дополнительно подготовлены сборки для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2, Google Compute Engine и Vagrant.

Следующее обновление FreeBSD 14.4 запланировано на март 2026 года. Поддержка нынешнего выпуска FreeBSD 14.3 будет осуществляться до 30 июня 2026 года, а прошлого выпуска FreeBSD 14.2 – до 30 сентября 2025 года. В целом ветка FreeBSD 14 будет сопровождаться до 30 ноября 2028 года, а ветка FreeBSD 13.x до 30 апреля 2026 года. Первый выпуск следующей значительной ветки FreeBSD 15, в которой будет прекращена поддержка 32-разрядных архитектур (кроме armv7 и режима COMPAT_FREEBSD32), запланирован на декабрь 2025 года.

Основные изменения во FreeBSD 14.3:

  • В прослойке LinuxKPI, применяемой для запуска Linux-драйверов во FreeBSD, реализована поддержка стандартов Wi-Fi 4 (802.11n) и Wi-Fi 5 (802.11ac), а также выноса операций шифрования на сторону сетевых адаптеров. Указанные возможности задействованы в драйвере iwlwifi, основанном на коде одноимённого драйвера из ядра Linux и поддерживающем беспроводные чипы Intel, применяемые в современных ноутбуках. Прошивки iwlwififw для драйвера Intel iwlwifi удалены из базовой системы в пользу установки из портов и использования утилиты fwget.

    Доведён до рабочего состояния и избавлен от утечек памяти драйвер rtw88 для беспроводных чипов Realtek c поддержкой 802.11n/ac (RTL8723DE, RTL8821CE, RTL8822*), также использующий код из Linux при помощи LinuxKPI.

  • В репозиториях Docker и GitHub началась публикация образов контейнеров в формате OCI.
  • Обновлены версии сторонних компонентов: LLVM 19.1.7 (было 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.
  • Для систем ARM64 добавлена поддержка горячего подключения PCIe-плат.
  • В API MAC (Mandatory Access Control) реализована поддержка параметров для привязки политик к jail-окружениям.
  • Добавлен системный вызов setcred для атомарной смены учётных данных процесса, таких как euid, ruid, группы и метки управления доступом. Для запуска команд под другим пользователем подготовлена утилита mdo похожая на утилиту su, но использующая вместо setuid модуль ядра mac_do и системный вызов setcred.
  • В модуле mac_do, позволяющем задавать политики, разрешающие непривилегированным пользователям изменять учётные данные процессов, разрешено применение одного правила к нескольким пользователям и группам.
  • Добавлена поддержка привязки выполнения sysctl к указанному jail-окружению, что позволяет из родительского окружения оценивать состояние ядра в дочернем jail. В утилиту sysctl добавлены флаги для фильтрации переменных, связанных с jail и vnet. Например, для выставления параметра net.fibs в jail с именем “foo” теперь можно выполнить “sysctl -j foo net.fibs=2”.
  • В утилиту ip6addrctl добавлена опция “-j” для применения настроек в привязке к указанному jail-окружению, что упрощает управление адресами в виртуальном сетевом стеке jail.
  • В пакетный фильтр pf добавлен параметр ‘net.pf.default_to_drop’ для включения режима отбрасывания пакетов по умолчанию. Значение может выставиться в привязке к виртуальным сетевым стекам (vnet) в jail.
  • Разрешено изменение sysctl-параметров виртуального сетевого стека (vnet) из начального загрузчика.
  • В звуковой подсистеме реализовано динамическое выделение (по мере необходимости) виртуальных каналов (vchan) записи и воспроизведения звука.
  • Обновлён и активирован в базовом ядре (GENERIC) драйвер mpi3mr для PCIe-контроллеров Broadcom MPIMR 3.0 IT/IR SAS.
  • Драйверы rtw88 и rtw89 для беспроводных адаптеров на чипах Realtek синхронизированы с ядром Linux 6.14.
  • В прошивки iwmbtfw и порт iwmbt-firmware добавлена поддержка Bluetooth-адаптеров Intel 9260/9560.
  • Расширена поддержка Ethernet-контроллеров в драйверах ix (Intel), igc (Intel) и bnxt (Broadcom).
  • Улучшена поддержка горячего подключения устройств в облачных окружениях AWS EC2 на базе архитектур x86 и arm64 (“Graviton”).
  • В утилите ps изменена логика обработки флага “-U”, который теперь фильтрует процессы по RUID (Real User ID), а не EUID (Effective User ID), как это определено в спецификации POSIX.
  • В утилите grep по умолчанию прекращено следование символическим ссылкам при рекурсивном поиске.
  • В настройки пакетного менеджера pkg (/etc/pkg/FreeBSD.conf) добавлен новый репозиторий FreeBSD-kmods, содержащий модули ядра, собранные для выпуска 14.3-RELEASE.
  • Объявлена устаревшей база открытых ключей /etc/publickey, завязанная на алгоритме DES.
  • Добавлено предупреждение об удалении менеджера логических томов gvinum в ветке FreeBSD 15.
    Разработка Gvinum остановилась около 15 лет назад, при том что в коде имеется ряд известный проблем, которые никто так и не взялся исправить. Вместо gvinum рекомендовано использовать gconcat, gmirror, gstripe, graid или zfs.
  • Добавлено предупреждение о грядущем удалении драйвера консоли syscons, который несовместим с UEFI, не поддерживает UTF-8 и не избавлен от использования глобальной блокировки ядра. В каком именно выпуске будет прекращена поддержка syscons пока не определено, но избавление ядра от глобальной блокировки ожидается во FreeBSD 16.
Release. Ссылка here.