Kernel


 * Upgrade/source

Исходные коды
Если они отсутствуют тут /usr/src/, то надо их установить csup -g -L 2 -h cvsup7.ru.freebsd.org /usr/share/examples/cvsup/standard-supfile

Сборка ядра из исходников
Создание копии конфига cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/GENERIC_NAT Внесение изменений и просмотр их diff /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/GENERIC_NAT options IPFIREWALL options IPDIVERT options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE cd /usr/src make buildkernel KERNCONF=GENERIC_NAT make installkernel KERNCONF=GENERIC_NAT reboot
 * 1) NAT

Ускорение пересборки (с 8.0) при наличии /usr/obj (?) make buildkernel KERNCONF=MKRNEL KERNFAST=1

Пересборка может понадобиться для активации
 * nat

make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel Загрузка конкретного ядра при очередном старте системы nextboot -k testkernel
 * Проверка нового ядра

Загрузка разовая старого ядра
КОторое было до сборки текущего. Если один раз собирали, то это GENERIC nextboot -k kernel.old

Переменная
С 7.0 появилась переменная sysctl kern.conftxt sysctl -b kern.conftxt

Эта информация доступна, если ядро собрано с опцией INCLUDE_CONFIG_FILE. По умолчанию её нет и GENERIC-ядро такого не позволяется.

Просмотреть эту же информацию также можно config -x /boot/kernel/kernel

Если ядро не содержит информации, то отобразится следующее сообщение: config: File /boot/kernel/kernel doesn't contain configuration file. Either unsupported, or not compiled with INCLUDE_CONFIG_FILE