Рано или поздно приходит время собирать свое ядро. Ядро по умолчанию GENERIC, предназначено для инсталляции на некую абстрактную машину, и потому включает в себя немерянное количество опций, в конкретной ситуации не нужных – например, поддержку всевозможных сетевых карт и SCSI-контроллеров. В своем ядре для сервера я, например, отключаю поддержку USB и wi-fi, так как они мне не нужны. В тоже время в обязательном порядке включаю поддержку IPFW,IPDIVET,DUNAMYT и так далее…

Для примера, берем стандартное ядро /usr/src/sys/i386/conf/GENERIC и сохраняем его как /usr/src/sys/i386/conf/MYKERNEL.
Далее редактируем его, более подробно об этом читаем в хэнбуке

После чего редактируем /etc/make.conf, куда добавляем

1
KERNCONF=MYKERNEL

Далее собираем и устанавливаем наше ядро

1
2
3
4
# cd /usr/src
# make buildkernel
# make installkernel
# reboot

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

1
boot: kernel.old

Загрузка старого ядра должна пройти успешно. Делаем замену старого ядра на новое:

1
2
3
4
5
6
# cd /
# chflags noschg kernel
# cp kernel kernel.new
# cp kernel.old kernel
# chflags schg kernel
# reboot

Проверяем наличие файла /boot.config. Если этого файла нет – создаем его следующим образом:

1
# echo /boot/loader > /boot.config

В каталоге /boot должны содержаться следующие файлы:

1
2
3
4
boot0
boot1
boot2
loader

Источники
www.freebsd.org.ru
www.freebsd.org

Нравится эта статья? Подпишитесь на RSS-ленту и получите еще больше классной информации!