Началось бета-тестирование FreeBSD 14. Загрузка FreeBSD за 25 миллисекунд

Подготовлен первый бета-выпуск FreeBSD 14.0. Выпуск FreeBSD 14.0-BETA1 доступен для архитектур i386, amd64, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 и riscv64. Дополнительно подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2. Релиз FreeBSD 14.0 намечен на 23 октября 2023 года.

Ветка FreeBSD 14 станет последней с поддержкой 32-разрядных платформ. Во FreeBSD 15 останется только поддержка 64-разрядных систем, но при этом сохранится возможность использования COMPAT_FREEBSD32 для запуска 32-разрядных исполняемых файлов в 64-разрядном окружении, а также останется возможность сборки 32-разрядных программ.

Среди изменений во FreeBSD 14:

  • Компилятор Clang обновлён до ветки 16.
  • С 256 до 1024 увеличено число поддерживаемых ядер CPU (параметр MAXCPU) в системах на базе архитектуры amd64 и arm64.
  • В загрузчике, написанном на языке Lua, реализована поддержка выполнения lua-файлов, размещённых в каталоге loader_conf_files, в специальном sandbox-окружении.
  • Для NVME-устройств по умолчанию на всех платформах задействован драйвер nda.
    Для возвращения старого драйвера nvd в loader.conf предусмотрена настройка “hw.nvme.use_nvd=1”.
  • Добавлена новая утилита “fwget”, определяющая оборудование, которому необходимы прошивки, и устанавливающая соответствующие пакеты с прошивками. В настоящее время поддерживаются только PCI-устройства и прошивки для GPU Intel и AMD.
  • Расширена поддержка NFS. Добавлена новая опция монтирования “syskrb5” для поддержки Kerberos в NFSv 4.1/4.2, а также реализована поддержка операции ExchangeID. Реализована возможность запуска nfsd, nfsuserd, mountd, gssd и rpc.tlsservd в изолированном сетевом окружении vnet.
  • В скрипте growfs реализована возможность размещения раздела подкачки в конце расширяемой области на диска.
  • Реализация утилиты objdump заменена на llvm-objump.
  • В качестве агента доставки почты по умолчанию вместо sendmail задействован dma (DragonFly Mail Agent). sendmail сохранён в базовой поставке и обновлён до версии 8.17.1.
  • Добавлен новый DTrace-провайдер kinst (dtrace_kinst), позволяющий проводить трассировку структур ядра.
  • В утилиту makefs добавлена поддержка файловой системы ZFS, среди прочего предоставлена возможность создания пула ZFS, связанного с одним виртуальным диском vdev.
  • В утилиту boottrace добавлен интерфейс для сохранения данных трассировки событий, произошедших на этапе загрузки и завершении работы системы.
  • В KTLS, реализацию протокола TLS, работающую на уровне ядра FreeBSD, добавлена поддержка аппаратного ускорения TLS 1.3 на принимающей стороне. Ускорение обеспечено через вынос на сторону сетевой карты некоторых операций, связанных с обработкой зашифрованных пакетов.
  • В wpa_supplicant добавлена поддержка Wi-Fi 6.
  • По умолчанию активирована настройка net.inet.tcp.nolocaltimewait, отключающая создание timewait-записей для TCP-соединений, разорванных на стороне локальной системы.
  • В качестве командного интерпретатора для пользователя root по умолчанию выставлен /bin/sh.
  • Для ядра на системах amd64 обеспечена поддержка инструментов AddressSanitizer и MemorySanitizer от проекта LLVM.
  • Из работающего на уровне ядра криптографического фреймворка OCF (Open Cryptographic Framework) удалена поддержка асимметричных криптографических операций.

Дополнительно можно отметить работу о сокращению времени загрузки FreeBSD 14 в системе виртуализации Firecracker, рассчитанной на запуск виртуальных машин с минимальными накладными расходами (используются легковесные виртуальные машины, для изоляции которых применяются технологии аппаратной виртуализации на базе гипервизора KVM, но при этом обеспечивается производительность и гибкость на уровне обычных контейнеров). Время загрузки ядра FreeBSD 14 под управлением Firecracker снижено до 25 миллисекунд, что позволяет запускать окружения с FreeBSD по мере необходимости для реализации инфраструктуры бессерверных вычислений. Для сравнения время загрузки ядра Linux в аналогичной конфигурации оценивается в 75-80 миллисекунд. До проведения оптимизации ядро FreeBSD загружалось за 10 секунд, т.е. было ускорено примерно в 400 раз.

Release. Ссылка here.