Руководство FreeBSD

         

Откомпилируйте и установите новое ядро


Чтобы получить полную отдачу от вашей новой системы, вы должны перекомпилировать ядро. Это практически необходимость, так как отдельные структуры в памяти могут меняться, и программы типа и top(1) не будут работать, пока версии ядра и исходных текстов системы не будут совпадать.

Самым простым и надежным способом сделать это является компиляция и установка ядра на основе GENERIC. Хотя в GENERIC могут оказаться не все необходимые для работы вашей системы устройства, в нем имеется все необходимое для перезагрузки вашей системы обратно в однопользовательский режим. Это является хорошей проверкой на правильность работы новой системы. После загрузки с ядром GENERIC и проверки работоспособности системы вы можете построить новое ядро на основе вашего обычного конфигурационного файла ядра.

В современных версиях FreeBSD важно выполнить buildworld перед сборкой нового ядра.

Замечание: Если вы хотите построить собственное ядро и уже подготовили файл конфигурации, просто используйте KERNCONF=MYKERNEL следующим образом:

# cd /usr/src

# make buildkernel KERNCONF=MYKERNEL

# make installkernel KERNCONF=MYKERNEL

Для FreeBSD 4.2 и более старых версиях вы должны заменять KERNCONF= на KERNEL=. 4.2-STABLE, загруженная до 2 февраля 2001 года, не распознаёт KERNCONF=.

Заметьте, что, если вы установили kern.securelevel в значение, превышающее 1, и

установили флаг noschg или подобный на бинарный файл ядра, то вы будете вынуждены перейти в однопользовательский режим для того, чтобы воспользоваться installkernel. В противном случае вы должны выполнять эти команды без проблем. Обратитесь к справочным страницам об init(8) для получения подробной информации о kern.securelevel и chflags(1) для получения информации о различных флагах файлов.

Если вы производите обновление до версии FreeBSD ниже 4.0, то нужно использовать старую процедуру построения ядра. Однако рекомендуется использовать новую версию программы со следующей командной строкой.

# /usr/obj/usr/src/usr.sbin/config/configKERNELNAME



Содержание раздела