NetBSD 11.0: поддержка RISC-V, расширенная совместимость с Linux и новые драйверы
Проект NetBSD представил NetBSD 11.0 - девятнадцатый крупный выпуск этой переносимой Unix-подобной операционной системы. Новая версия получила заметно более широкую аппаратную поддержку, дополнительные интерфейсы для запуска Linux-приложений, оптимизации ядра и специализированные возможности для виртуальных машин.
Главным новшеством стал первый стабильный порт NetBSD для 64-разрядной архитектуры RISC-V. Новая редакция ориентирована на работу в виртуальных машинах QEMU, а также на устройствах с чипом StarFive JH7110. В список совместимых платформ входят, в частности, платы StarFive VisionFive 2 и PINE64 STAR64. Таким образом, NetBSD 11.0 для RISC-V становится более практичным вариантом для разработчиков, энтузиастов встроенных систем и пользователей открытых аппаратных платформ.
Порт поддерживает PCI и PCIe, сетевые и дисковые устройства VirtIO, виртуальное аудио, аппаратный генератор случайных чисел и температурные датчики. Кроме того, реализована утилита crash kernel для диагностики критических сбоев. Для микросхем Allwinner D1, используемых в платах MangoPi MQ Pro и Allwinner Nezha, пока предусмотрена базовая совместимость.
Подробный обзор ключевых изменений, связанных с новым портом и улучшениями системных интерфейсов, доступен в материале о NetBSD 11.0 и поддержке RISC-V. Эти изменения показывают, что проект продолжает развивать систему не только для традиционных серверов, но и для современных одноплатных компьютеров и экспериментальных архитектур.
Существенные обновления затронули ARM-платформы. В NetBSD 11.0 появилась начальная поддержка Qualcomm Snapdragon X Elite с процессорными ядрами Oryon. Для этой платформы добавлены драйверы датчиков аккумулятора и зарядного устройства, GPIO, а также контроллеров I2C. В системах ARM с ACPI появилась поддержка NUMA, реализован протокол управления производительностью Arm SCMI и добавлен новый драйвер Rockchip USB-C PHY.
Разработчики также улучшили совместимость с NanoPi R4S и периферийными устройствами Raspberry Pi 5. Последняя плата теперь лучше работает при загрузке через UEFI, что упрощает использование современных сценариев запуска и установки системы.
Для виртуализации подготовлено специальное ядро MICROVM, доступное для amd64 и i386. Оно рассчитано на максимально быстрый запуск виртуальных машин и использует загрузку PVH, устройства VirtIO MMIO и ряд оптимизаций ядра. По оценке разработчиков, на процессорах x86, выпущенных примерно с 2020 года, такое окружение способно запускаться приблизительно за 10 миллисекунд.
NetBSD 11.0 также поддерживает загрузку без Xen PVH, включая запуск QEMU с параметром `-kernel`. Устройства VirtIO можно обнаруживать через параметры командной строки ядра. Новый драйвер viogpu обеспечивает работу с виртуальной графикой QEMU, а pvscsi добавляет поддержку паравиртуализированных SCSI-контроллеров VMware.
Одним из наиболее важных направлений стала NetBSD совместимость с Linux. В новую версию включены дополнительные системные вызовы и интерфейсы Linux: epoll, clone3, statx, inotify, renameat2, close_range, waitid, syncfs, readahead, POSIX message queues и sync_file_range. Также реализован вызов memfd_create, а procfs получил представления sysvipc и self/limits.
Благодаря этим дополнениям больше Linux-программ смогут работать в NetBSD через слой совместимости без исходной адаптации. Это особенно важно для серверных инструментов, тестовых окружений и программ, которые используют современные Linux API. Пользователи, планирующие NetBSD скачать бесплатно, могут рассматривать выпуск 11.0 как наиболее функциональную основу для экспериментов с совместимостью и виртуализацией.
Развитие стандартов также стало заметной частью релиза. NetBSD 11.0 получила улучшения, связанные с POSIX.1-2024 и стандартом языка C23. Утилита lint теперь умеет проверять код C23 и выявлять больше случаев переполнения целых чисел. Кроме того, появился wrapper c17, предоставляющий команду компилятора ISO C17, предусмотренную требованиями POSIX.1-2024.
На уровне ядра выполнен ряд оптимизаций. Снижена конкуренция за блокировки при работе с каналами, ускорены операции перестановки байтов на SPARC, PowerPC и MIPS, повышена скорость удаления файлов в ZFS. Подсистема DRM получила улучшенную масштабируемость на многоядерных процессорах, а драйверы VirtIO теперь безопаснее работают в многопроцессорной среде без постоянного удержания глобальной блокировки ядра.
Начальный тайм-аут повторной передачи TCP уменьшен с трёх до одной секунды в соответствии с возможностями, предусмотренными RFC 6298. Межсетевой экран Packet Filter теперь поддерживает фильтрацию на уровне Layer 2, а также правила, зависящие от пользователей и групп. Новый механизм heartbeat позволяет обнаруживать зависание ядра: процессоры и уровни прерываний контролируют продвижение друг друга и сигнализируют о проблемах.
Аппаратная база системы расширена большим числом новых и обновлённых драйверов. Среди наиболее заметных - поддержка сетевых адаптеров Realtek RTL8126 5GbE, виртуальных функций NVIDIA Mellanox ConnectX-6, USB-Ethernet-устройств ASIX AX88179A, оборудования USB Audio Class 2.0 и HID-клавиатур на I2C. Улучшена работа USB-модема Android через Network Control Model, добавлены драйверы для новых вентиляторов, датчиков, последовательных интерфейсов, накопителей и промышленного оборудования.
Отдельное внимание уделено современным процессорам AMD: система получила мониторинг температуры для платформ Siena, Turin Classic, Turin Dense и Strix Point. Это делает NetBSD удобнее для рабочих станций и серверов, где важно отслеживать состояние компонентов и тепловую нагрузку.
Перед тем как выполнить установка NetBSD 11.0, пользователю стоит проверить совместимость оборудования, выбрать подходящий установочный образ и заранее определить схему загрузки - традиционную или UEFI. Для RISC-V набор поддерживаемых устройств пока ограничен, поэтому особенно важно учитывать модель платы, доступность загрузчика и способ подключения накопителя.
Тем, кто хочет NetBSD 11.0 скачать, рекомендуется использовать образы и инструкции, опубликованные в рамках проекта, а после установки внимательно проверить работу сетевого адаптера, накопителей и графической подсистемы. Новый выпуск ориентирован прежде всего на опытных пользователей, администраторов и разработчиков, однако расширение драйверной базы постепенно делает систему доступнее для более широкого круга задач.
В целом NetBSD 11.0 объединяет несколько важных направлений: стабильный 64-разрядный RISC-V, улучшенную работу на ARM, ускоренный запуск виртуальных машин, более полную NetBSD совместимость с Linux и поддержку актуальных стандартов C и POSIX. Для проекта, традиционно делающего ставку на переносимость и аккуратную архитектуру, это один из наиболее содержательных релизов последних лет.


