Проект NetBSD объявил о выходе NetBSD 11.0, девятнадцатого крупного релиза высокопортируемой Unix-подобной операционной системы.
Одним из ключевых изменений релиза стал выпуск первого стабильного порта NetBSD для 64-битных систем на архитектуре RISC-V. Первая реализация поддерживает виртуальные машины QEMU и устройства на базе StarFive JH7110, включая платы StarFive VisionFive 2 и PINE64 STAR64.
Порт для RISC-V включает поддержку устройств PCI и PCIe, сетевые и дисковые VirtIO, виртуализированное аудио, аппаратный генератор случайных чисел, датчики температуры и утилиту отладки аварийного дампа ядра NetBSD. Также имеется базовая поддержка одноплатной системы Allwinner D1, используемой в устройствах вроде MangoPi MQ Pro и Allwinner Nezha.
Что касается поддержки Arm, в NetBSD 11.0 появилась начальная поддержка платформы Qualcomm Snapdragon X Elite и её ядер Oryon, а также драйверы для датчиков батареи и зарядного устройства, GPIO и контроллеров I2C.
К другим изменениям, связанным с Arm, относятся поддержка NUMA для систем на базе ACPI, поддержка протокола производительности Arm SCMI, новый драйвер PHY Rockchip USB-C, улучшенная совместимость с NanoPi R4S и улучшенная поддержка периферии Raspberry Pi 5 при загрузке платы через UEFI.
Для задач виртуализации в релизе представлено специальное ядро MICROVM для систем amd64 и i386. Созданное для быстрого запуска виртуальных машин, оно использует загрузку PVH, устройства VirtIO MMIO и несколько оптимизаций ядра. Как сообщает проект, ядро способно загрузиться примерно за 10 миллисекунд на процессорах x86 примерно 2020 года выпуска.
В NetBSD 11.0 также добавлена поддержка загрузки PVH не только для Xen, включая опцию QEMU -kernel, а также обнаружение устройств VirtIO через параметры командной строки ядра. Новый драйвер viogpu обеспечивает поддержку виртуальных графических устройств, предоставляемых QEMU, а драйвер pvscsi отвечает за паравиртуализированные SCSI-контроллеры VMware.
Ещё одним важным направлением стало развитие прослойки совместимости с Linux. В релизе реализованы дополнительные системные вызовы и интерфейсы Linux, включая epoll, clone3, statx, inotify, renameat2, close_range, waitid, syncfs, readahead, очереди сообщений POSIX и sync_file_range.
В NetBSD 11.0 также добавлен совместимый с Linux системный вызов memfd_create, а procfs расширен поддержкой sysvipc и self/limits. Благодаря этому более широкий круг программ, изначально написанных для Linux, сможет работать через подсистему совместимости NetBSD без изменений.
Совместимость со стандартами улучшена благодаря обновлениям, связанным с POSIX.1-2024 и стандартом языка программирования C23. Утилита lint системы теперь может проверять код C23 и выявлять больше случаев переполнения целых чисел, а новая оболочка c17 предоставляет команду компилятора ISO C17, требуемую стандартом POSIX.1-2024.
На уровне ядра в NetBSD 11.0 появились многочисленные улучшения производительности: снижение конфликтов блокировок для пайпов, ускорение операций смены порядка байт на SPARC, PowerPC и MIPS, более быстрое удаление файлов в ZFS и повышенная масштабируемость на многопроцессорных системах в графической подсистеме DRM.
Драйверы VirtIO теперь помечены как безопасные для многопроцессорных систем, что позволяет им работать без удержания глобальной блокировки ядра. Начальный тайм-аут повторной передачи TCP сокращён с трёх секунд до одной, как разрешено в RFC 6298.
Кроме того, межсетевой экран NetBSD Packet Filter получил возможность фильтрации на втором уровне и правила, зависящие от пользователей и групп. Релиз также включает новый механизм сердцебиения ядра, который позволяет обнаруживать зависания ядра за счёт мониторинга прогресса процессоров и уровней прерываний друг за другом.
Поддержка оборудования расширена большим набором новых и обновлённых драйверов. Среди заметных дополнений: сетевой адаптер Realtek RTL8126 5GbE, виртуальные функции NVIDIA Mellanox ConnectX-6, адаптеры USB Ethernet ASIX AX88179A, устройства USB Audio Class 2.0, клавиатуры I2C HID, обновлённый режим USB-модема для Android через модель управления сетью, а также дополнительные контроллеры вентиляторов, датчиков, последовательных портов, накопителей и промышленного оборудования.
Релиз также улучшает поддержку современных процессоров AMD, добавляя мониторинг температуры для процессоров Siena, Turin Classic, Turin Dense, Strix Point и Zen 5. Процессоры Intel Meteor Lake и Emerald Rapids теперь распознаются утилитой cpuctl, а таймеры сторожевого таймера Intel TCO новых поколений получили поддержку.
Базовая система включает обновлённые сторонние компоненты, такие как GCC 12.5, GDB 15.1, Binutils 2.42, OpenSSL 3.5.7, OpenSSH 10.3, Postfix 3.11.2, X.Org Server 21.1.24, tmux 3.6b, Unbound 1.25.1, BIND 9.20.24 и wpa_supplicant 2.11.
Пользователям, обновляющимся с более ранних версий, следует обратить внимание на несколько изменений в совместимости. Библиотеки совместимости 32- и 64-битных приложений теперь размещены в отдельных установочных наборах base32, base64, debug32 и debug64. HTML-версии справочных страниц теперь содержатся в отдельном наборе manhtml.
OpenSSH больше не поддерживает ключи DSA. Системам с изменёнными конфигурациями SSH, явно включающими такие ключи, может потребоваться корректировка перед успешным запуском демона SSH. Интерфейс управления частотой процессора aarch64 теперь использует мегагерцы вместо абстрактных единиц производительности, а драйвер hdaudio изменил порядок и названия элементов микшера.
Дополнительные сведения можно найти в анонсе или в заметках о выпуске.
Установочные образы и исходный код NetBSD 11.0 доступны для загрузки из CDN проекта для множества процессорных архитектур и системных семейств, поддерживаемых операционной системой.





Пока нет комментариев. Будьте первым!