Пересборка ядра NetBSD
Скачиваем исходные тексты ядра с официального FTP-сервера проекта:
# cd /usr
# ftp anonymous@ftp.netbsd.org
# cd pub/NetBSD/NetBSD-9.1/source/sets/
# get syssrc.tgz
# cd /
# tar xzvf syssrc.tgz
# cd /usr
# rm syssrc.tgz
Переходим в каталог с конфигурациями ядер для архитектуры i386:
# cd src/sys/arch/i386/conf
Будем собирать своё ядро на основе модульного ядра. Для этого создадим новый файл MODULAR_M2
и впишем в него одну опцию:
include "arch/i386/conf/MODULAR"
И добавим в этот файл ещё две опции для замены планировщика 4.4BSD на планировщик M2:
no options SCHED_4BSD
options SCHED_M2
Выполним конфигурирование:
# config MODULAR_M2
Соберём зависимости:
# cd ../compile/MODULAR_M2
# make depend
Теперь можно собрать само ядро:
# make
После сборки в текущем каталоге появится файл с именем netbsd
- это и есть ядро.
Сделаем резервную копию текущего ядра и поместим на его место только что собранное ядро:
# cp /netbsd /netbsd.generic
# cp netbsd /netbsd
Я дополнительно копирую его под именем netbsd.modular_m2
, чтобы в дальнейшем при переходе между ядрами можно было вернуться именно к этому ядру:
# cp netbsd /netbsd.modular_m2
Кроме архива syssrc.tgz
можно сачать и другие наборы с исходниками системы:
gnusrc.tgz
- используемые проектом сторонние компоненты c лицензиями GPL,sharesrc.tgz
- исходные тексты содержимого каталога/usr/share
: документация, примеры, данные для локализации, страницы руководства, шрифты, клавиатурные раскладки, make-файлы,src.tgz
- исходные тексты базовой системы NetBSD,syssrc.tgz
- исходные тексты ядра NetBSD и связанных с ним утилит,xsrc.tgz
- графическая система X11 и связанные с ней утилиты и библиотеки.