FreeBSD Kernel package

Март 10th, 2009 | Tags: , ,

Некоторое время назад, при подготовке системы массовой инсталляции FreeBSD, столкнулся с неожиданной трудностью при инсталляции кастомного ядра. Например, sysinstall хочет получить ядро в виде gzip-ованого архива, причем еще и разбитого по томам. ИМХО, это не совсем удобно, тем более, если нужно создать некоторый набор ядер для разных вариантов установки.

Для упрощения был написан порт для сборки ядра в пакет FreeBSD, который можно легко установить, как с помощью sysinstall, так и простым pkg_add.

Установить ядро  можно, например, так:

# pkg_add http://tmp.barev.net/files/kernel-GENERIC-i386-7.1_701000.tbz

После установки пакета, содержимое каталога /boot выглядит следующим образом:

# ls -l | grep kernel
lrwxr-xr-x  1 root  wheel      21 Feb 14 16:50 kernel -> kernel.GENERIC-701000
drwxr-xr-x  2 root  wheel   11776 Feb 14 16:50 kernel.GENERIC-701000
drwxr-xr-x  2 root  wheel     512 Jan 27 11:02 kernel.old

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

Шелл-архив порта можно получить по следующей ссылке download ports-kernel.shar.

Для сборки пакета нужно произвести следующие действия:

# fetch http://tmp.barev.net/files/ports-kernel.shar

# sh ./ports-kernel.shar

# cd kernel

# make package KERNCONF=GENERIC

  1. 1 trackbacks
You must be logged in to post a comment.
TOP