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


Если что-то пошло не так - часть 2


К нему вы можете получить доступ, когда система делает обратный отсчёт от 10 в меню загрузки. Нажмите любую клавишу, кроме Enter, введите unload и наберите boot /boot/kernel.old/kernel, или используйте любое другое ядро, которое загрузится без проблем. Во время переконфигурирования ядра всегда полезно оставлять копию ядра, о котором известно, что оно рабочее.

После загрузки с рабочим ядром вы можете проверить ваш файл конфигурации и попробовать собрать ядро опять. Очень полезным в данном случае окажется файл /var/log/messages, в котором, среди других записей, имеются сообщения ядра от каждой успешной загрузки. Также, команда dmesg(8) выведет сообщения ядра от текущей загрузки.

Замечание: Если у вас возникли проблемы со сборкой ядра, убедитесь, что вы сохранили ядро GENERIC или другое рабочее ядро под другим именем, чтобы оно не было удалено при следующей сборке. Вы не можете использовать kernel.old, потому что при установке нового ядра kernel.old перезаписывается последним установленным ядром, которое может оказаться нерабочим. Также, как можно скорее переместите рабочее ядро в /boot/kernel, так как некоторые команды, такие как ps(1) будут работать некорректно. Для этого просто переместите каталог, содержащий работоспособное ядро:

# mv /boot/kernel /boot/kernel.bad

mv /boot/kernel.good /boot/kernel

В версиях FreeBSD до 5.X, для восстановления работоспособного ядра используйте команду:

# chflags noschg /kernel

Если вы обнаружите, что не можете этого сделать, скорее всего вы работаете на уровне безопасности (securelevel(8)) большем нуля. Отредактируйте переменную kern_securelevel в файле /etc/rc.conf, установите её в -1 и перезагрузитесь. Вы можете установить её в предыдущее состояние когда будете довольны своим новым ядром.

И, если вы захотите ``закрыть'' ваше новое ядро или любой другой файл, таким образом, что он не сможет быть перемещен или изменен, используйте следующую команду:

# chflags schg /kernel

Ядро работает, но ps(1) больше не работает:

Если вы установили версию ядра отличную от той, с которой были собраны ваши системные утилиты, например, ядро от 5.X на системе 4.X, большая часть системных команд, таких как и vmstat(8) не будут больше работать.Вам потребуется той же версии исходных текстов, что и ядро. Это одна из причин, по которой не следует использовать версию ядра, отличную от версии всей остальной системы.




Начало  Назад