NetBSD

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:27, 17 мая 2016.
NetBSD
NetBSDlogo.svg
Разработчик The NetBSD Foundation
Линейка ОС Unix-like (BSD)
Состояние разработки Current
Исходный код Open source
Дата первого релиза 1993; 27 years ago (1993)
Последний релиз 7.0 / 8 October 2015 года; 4 years ago (2015-10-08)
Доступно в English
Cистема управления пакетами pkgsrc
Платформы Alpha, ARM, PA-RISC, 68k, MIPS, PowerPC, SH3, SPARC, RISC-V, VAX and x86
Ядро (тип) Modular Monolithic Anykernel
Пользовательское
пространство
BSD
По умолчанию
пользовательский
интерфейс
Command-line interface
Лицензия 2-clause BSD license
Официальный веб-сайт netbsd.org

NetBSD — свободно распространяемая операционная система. Первая официальная версия NetBSD — 0.8 — была выпущена в апреле 1993 года. NetBSD происходит из систем 4.3BSD и 386BSD. В конце 1995 года от NetBSD ответвился проект OpenBSD.

Разработка ОС NetBSD ведется сообществом добровольцев. Почти 300 действующих разработчиков непосредственно работают над исходными текстами, а сотни пользователей ежедневно поддерживают развитие системы, выдвигая различные идеи. Проект NetBSD управляется центральной группой NetBSD в рамках организации NetBSD.

NetBSD портирована на огромное количество компьютерных архитектур. Лозунг NetBSD — «Конечно, это работает с NetBSD» (англ. «Of course it runs NetBSD»). Поддерживаются более 50 аппаратных платформ (существуют 57 портов, включая последний официальный выпуск и мгновенные копии).

История NetBSD

NetBSD происходит из систем 4.3BSD и 386BSD. В конце 1995 года от NetBSD ответвился проект OpenBSD. Первая версия NetBSD (0.8) появилась в 1993 и базировалась на операционной системе 4.3BSD Lite, версии Unix, разработанной в Калифорнийском университете Беркли (Berkeley Software Distribution), и на операционной системе 386BSD, первой BSD системе, портированной на процессор Intel 386. В последующие годы, в состав системы вносились изменения из операционной системы 4.4BSD Lite (последний выпуск группы разработчиков из Беркли). BSD системы имели огромное значение в развитие Unix. Именно они представили множество инструментов и средств, в настоящее время ставших стандартами для всех Unix-систем — таких как текстовый редактор vi, оболочку C, быструю файловую систему Беркли (Berkeley FFS), поддержку виртуальной памяти, TCP/IP и многое другое.

Возможности NetBSD

NetBSD способна полноценно работать на большом количестве аппаратных платформ и по своей сути является в высокой степени портируемой ОС, возможно, самой портируемой операционной системой в мире. NetBSD портирована на огромное количество компьютерных архитектур. Лозунг NetBSD — «Конечно, это работает с NetBSD» (англ. «Of course it runs NetBSD»). Поддерживаются 53 аппаратные платформы (существуют 57 портов, включая последний официальный выпуск и мгновенные копии). Компиляция пакетов происходит из одного дерева исходных кодов, поэтому новые функции в машинно-независимых частях появляются сразу для всех платформ без необходимости адаптации. Разработка драйверов также машинно-независима, поэтому один драйвер для карты, работающей, например, на шине PCI, будет работать на платформах i386, Alpha, PowerPC, SPARC и других, поддерживающих шину PCI. Такая платформонезависимость позволяет разрабатывать встраиваемые системы с помощью целого набора инструментов: компиляторов, отладчиков и других инструментов, поддерживающих кросс-компиляцию.

Основными возможностями NetBSD являются:

  • Переносимость (поддерживаются более 50 платформ).
  • Безопасность.
  • Качество кода и его корректность.
  • Соответствие промышленным стандартам.
  • Исследования и инновации.

Для того, кто решил работать с NetBSD, на первый взгляд количество аппаратных платформ, на которые портирована система не имеет особого значения. Но если посмотреть с другой стороны на тот же вопрос, оказывается что между переносом на другое оборудование и качеством исходного кода есть очень тесная связь. Без отлично спроектированного, простого для понимания и хорошо организованного кода поддерживать такое количество разношерстного оборудования и разных его комбинаций абсолютно невозможно. Многие системы в процессе разработки руководствуются принципом "если код работает, значит, он написан правильно". NetBSD, в отличие от них, считает что такой ход мыслей неверен. Вместо этого пропагандируется следующий подход к созданию систем - код не считается работающим до тех пор, пока не будет полностью проверен на правильность. Опираясь на университетские традиции, сообщество, работающее над развитием NetBSD, позиционирует свой проект как свободную систему для профессионалов и энтузиастов, которую все желающие могут использовать для любых целей. Каждому предоставляется свободный доступ к исходным кодам и бинарным пакетам системы. А значит, внесение модификаций и дальнейшее распространение системы всячески приветствуется.

Поддерживаемые платформы

NetBSD спроектирована таким образом, чтобы свести к минимуму усилия по ее переносу на новое оборудование и позволить сосредоточится на разработке непосредственно аппаратуры. Благодаря поддержке многих процессоров с пониженным потреблением питания, таких, как ARM, MIPS, PowerPC, XScale и Hitachi SH 3/4/5, NetBSD идеально подходит в качестве системы для встраиваемых устройств. Если же убрать определенные компоненты, то NetBSD подходит и для совсем миниатюрных систем. И, конечно же, существуют все инструменты для разработки, включая кросс-компиляторы и средства для управления процессом сборки. Таким образом, ядро и вообще вся операционная система может быть легко кросс-откомпилирована, включая даже подготовку дистрибутивных комплектов.

Сборки NetBSD 7.0 доступны для 58 архитектур, включая 16 различных семейств CPU, а в списке поддерживаемых присутствуют все популярные платы для разработчиков, в том числе Raspberry Pi 2, ODROID-C1, BeagleBoard и Cubieboard2. Отдельно выделены 8 первично поддерживаемых портов, составляющих ядро стратегии развития NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 и xen. Остальные 50 портов, связанных с такими CPU, как alpha, hppa, m68010, m68k, sh3, sparc и vax, отнесены ко второй категории, т.е. ещё поддерживаются, но уже потеряли актуальность или не имеют достаточного числа заинтересованных в их развитии разработчиков.

Драйверы в NetBSD полностью абстрагированы от платформы, включая такие ее компоненты, как шина ввода-вывода, DMA, прерывания или что угодно еще. Драйвер работает исключительно с абстрактными сущностями, что позволяет использовать его на любой архитектуре вообще без модификаций. Более того, один и тот же драйвер можно брать для разных версий периферии, подключаемой к разным шинам. На странице NetBSD приводится пример драйвера fxp для сетевых карт Intel. Один и тот же драйвер используется для архитектур alpha, arc, cats, cobalt, i386, macppc, prep, и он же — для PCI- и Cardbus-версий сетевой карты без всякого дополнительного кода. На самом деле ядро NetBSD настолько грамотно разделено на независимые слои, что даже процесс портирования на новую архитектуру здесь значительно проще, чем в других ОС. Так, портирование NetBSD на x86_64 заняло всего месяц, тогда как у разработчиков Linux на это ушло полгода.

Коллекция пакетов

NetBSD содержит собственную систему пакетов — NetBSD Packages Collection (pkgsrc). Pkgsrc система управления пакетами, позволяющая устанавливать, обновлять и удалять программное обеспечение посредством одной команды. На сентябрь 2015 года в ней находится более 14000 пакетов. Установка любой программы, будь то GNOME, KDE, Apache или Perl, сводится к тому, что надо войти в соответствующий каталог и набрать команду make install clean. После этого исходные коды будут загружены, распакованы, скомпилированы и установлены. Альтернативой самостоятельной сборки служат прекомпилированные (двоичные) пакеты. В любом случае все необходимые зависимости пакетов будут соблюдены автоматически. ‬Изначально разработанная для NetBSD,‭ с тех пор она была перенесена на многие операционные системы,‭ ‬включая Linux,‭ ‬Solaris,‭ ‬AIX,‭ ‬OSF/1,‭ ‬DragonflyBSD и даже MS Windows для ее подсистемы Interix.‭

Установка NetBSD

Видео установки

Инструкция

Скачать последний релиз NetBSD можно с официального сайта по ссылке.

1) На первом экране появляется меню с предложением выбрать тип установки. Мы выбираем первый пункт (Install NetBSD) и жмём клавишу Enter.

2) Далее запускается программа-установщик sysinst и предлагает выбрать язык надписей для последующей установки

3) Далее предлагается выбор раскладки клавиатуры, я выбрал US-English.


4) Далее следует главное меню программы, где можно начать установку, обновить систему, вызвать какие-то утилиты и т.д, выбираем первый пункт и жмём Enter.


5) На следующем экране даётся пояснение о шагах выполнения установки ОС. Нажимаем Yes и идём дальше.


6) Затем sysinst показывает какие накопители были обнаружены и предлагает использовать один из них.

7) Далее, инсталлятор показывает геометрию системного диска. Можно подтвердить или ввести её вручную. Соглашаемся с представленной геометрией.

8) Теперь sysinst даёт пояснения по разметке диска и объёму разделов для установки NetBSD. Если выбрать пункт "Use the entire disk", то вся информация с него будет стёрта и он будет переразмечен. При желании, можно выбрать первый пункт меню и отредактировать таблицу разделов, оставив на диске уже существующие слайсы (разделы) и создав новый для нашей операционной системы.

9) Далее нам предлагают переписать главную загрузочную запись (MBR) и установить в неё загрузочный код для старта NetBSD. Соглашаемся и идём дальше.


10) Теперь инсталлятор нам поясняет, что нужно сделать логические диски (партиции) в созданом разделе NetBSD и точки монтирования для доступа к ним. Делается это с помощью программы disklabel editor. Кроме того, здесь показана доступная ёмкость нашего диска и минимальные объёмы, которые требуются для установки ОС NetBSD. В моём случае, доступный объём диска составляет 18431 мегабайт, а для базовой установки NetBSD достаточно всего 31 мегабайт без графической системы X Window (графического интерфейса) или 81 мегабайт с установкой графики. Выбираем первый пункт и соглашаемся с предложенной разметкой.


11) На следующем экране просто проверяем созданную разметку и подтверждаем её верность выбором последнего пункта (Partition sizes ok). Здесь же показано какие файловые системы будут созданы на соответствующих партициях (логических дисках). В данном случае это FFS.

12) Далее запрашивается метка диска.

13) Теперь все нужные сведения установщик получил и готов начать разметку (разбивку) нашего диска (wd0). Но, на всякий случай, нам даётся последний шанс отменить установку и запрашивается подтверждение начала переразметки диска и установки ОС. Если всё в порядке, выбираем "Yes" и жмём Enter.

14) После окончания разметки и форматирования мы должны указать место расположения загрузочного блока (bootblock). Здесь есть возможность использовать удалённое (сетевое) администрирование, однако нам это не требуется. По умолчанию будет использован стандартный бутблок BIOS. Соглашаемся с первым пунктом и выбираем Exit для продолжения установки.

15) Теперь нам нужно выбрать тип установки дистрибутивных пакетов ПО. Всего четыре варианта: Full, Minimal, Installation without X11 и Custom installation (полная, минимальная, без графического интерфейса и выборочная установка соответственно). Я выбрал полную установку.

16) Далее нужно указать с какого источника мы будем копировать эти дистрибутивные пакеты. В нашем случае это CD-ROM / DVD.

17) Далее на экран выводится информация по установке дистрибутивных пакетов.

18) По завершению установки появляется надпись о том, что теперь ОС NetBSD может грузиться с нашего диска. Нажимаем Enter.

19) Здесь по необходимости можно задать конфигурацию дополнительным элементам.

19.1) Сначала конфигурируем сетевую карту. Выбираем автоматическое определение параметров, на следующем экране соглашаемся с выбранными параметрами и нажимаем Yes.

19.2) Устанавливаем временную зону для нашей системы.

19.3) Задаем пароль для пользователя root.

19.4) Установка бинарных пакетов

19.5) Извлечение и распаковка pkgsrc для построения из исходных текстов.

20) Нажимаем Finished configuration, и на этом установка и первоначальная настройка ОС NetBSD полностью завершена. Для получения дополнительной информации нам рекомендуют почитать файл INSTALL и man по afterboot(8). А для дополнительной конфигурации системы и запуска различных служб (демонов, в терминологии UNIX) можно воспользоваться файлами /etc/rc.conf (файл дополнительных настроек) и /etc/defaults/rc.conf (файл настроек по умолчанию). Нажимаем Enter и получаем поздравление по поводу успешной установки операционной системы NetBSD.

Примеры использования NetBSD

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

  • Коммерческая операционная система реального времени QNX использует сетевой стек, основанный на коде NetBSD, и предоставляет различные драйверы портированые из NetBSD.
  • Dell Force10 использует NetBSD в качестве базовой операционной системы, обеспечивающей работу FTOS (операционная система Force10), которая используется в коммутаторах / маршрутизаторах высокой масштабируемости. Force10 также сделали пожертвование для NetBSD Foundation в 2007 году, чтобы помочь дальнейшим исследованиям и сообществу Open-source.
  • Wasabi Systems предоставляет коммерческий продукт Wasabi Certified BSD, основанный на NetBSD с собственными функциями и расширениями.
  • NetBSD был использован в SAMS-II — проекте НАСА по измерению среды микрогравитации на Международной космической станции, и исследовании TCP для использования в спутниковых сетях.
  • В 2004 году SUNET используется NetBSD для установления рекорда скорости Internet2. Причиной выбора NetBSD послужила "масштабируемость кода TCP".
  • Apple также использует NetBSD в AirPort Extreme и Time Capsule, вместо своей собственной OS X.
  • Операционная система смартфона T-Mobile Sidekick LX 2009 года основана на NetBSD.
  • Операционная система Minix использует в основном NetBSD пространство пользователя, а также его пакеты pkgsrc 3.2.

Источники