01.12.2021

Началось бета-тестирование FreeBSD 13.0

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

Примечания к выпуску со списком изменений пока ограничиваются пустым шаблоном, но из изменений, ранее намеченных для включения во FreeBSD 13.0, можно отметить:

  • Осуществлён переход на унифицированную c Linux реализацию файловой системы ZFS от проекта OpenZFS. Среди возможностей, которые стали доступны во FreeBSD после перехода на OpenZFS: расширенная система квот, шифрование наборов данных, раздельный выбор классов распределения блоков (allocation classes), использование векторных процессорных инструкций для ускорения реализация RAIDZ и вычисления контрольных сумм, поддержка алгоритма сжатия ZSTD, режим multihost (MMP, Multi Modifier Protection), улучшенный инструментарий командной строки, исправление многих ошибок, связанных с состоянием гонки и блокировками.
  • В ядро и пользовательское окружение принят код с реализацией драйвера и инструментария VPN WireGuard.
  • Добавлена возможность сборки базовой системы FreeBSD в окружениях на основе других операционных систем. Необходимость сборки в других операционных системах обусловлена желанием задействовать для тестирования FreeBSD инструментарии непрерывной интеграции, завязанные на Linux или macOS.
  • Предложен новый стек MMC/SD, основанный на фреймворке CAM и позволяющий подключать устройства с интерфейсом SDIO (Secure Digital I/O). Например, SDIO используется во WiFi и Bluetooth модулях для многих плат, таких как Raspberry Pi 3. Новый стек также позволяет использовать интерфейс CAM для отправки SD-команд из приложений в пространстве пользователя, что даёт возможность создавать драйверы устройств, работающие на уровне пользователя.
  • Добавлена поддержка новых плат на базе 64-разрядных CPU ARMv8, включая SoC Broadcom BCM5871X и NXP LS1046A.
  • Проведена большая работа по улучшению поддержки систем NUMA (Non-Uniform Memory Access).
  • Обновлены графические драйверы и компоненты графического стека. Решены проблемы с работой окружений на базе протокола Wayland.
  • Улучшена работа прослойки для совместимости с Linux. Файлы DTS (Device Tree Sources) синхронизированы с ядром Linux 5.8.
  • Добавлена реализация TLS (kTLS), работающая на уровне ядра FreeBSD, которая позволяет добиться существенного увеличения производительности шифрования для TCP-сокетов.
  • Добавлена поддержка NFSv4.2 (RFC-7862) и реализована возможность работы NFS поверх шифрованного канала связи на базе TLS 1.3, вместо использования Kerberos (режим sec=krb5p), который ограничивался шифрованием только RPC-сообщений и был реализован только программно.
  • Из libc удалена небезопасная функция gets (начиная со стандарта C11 данная функция исключена из спецификации) и проведена корректировка портов, ещё использующих данную функцию.
  • Разработка переведена из централизованной системы управления исходными текстами Subversion в децентрализованную систему Git.
  • Архитектура i386 переведена на вторичный уровень поддержки платформ (Tier 2), который подразумевает продолжение формирования установочных сборок (для бета-версии сборки отсутствуют), бинарных обновлений и готовых пакетов, но не гарантирует решение специфичных проблем.
  • Тип CPU (CPUTYPE) для архитектуры i386 по умолчанию изменён с 486 на 686 (при желании сборки для i486 и i586 можно сформировать самостоятельно).

Источник.