9.7. Решение проблем
Пред. | Глава 9. Настройка ядра FreeBSD | След.

## 9.7. Решение проблем

Существует четыре категории проблем, которые могут возникнуть при сборке собственного ядра. Вот они:

Не удаётся отработать команде `config`:

  Если команда config(8) не может отработать, то, скорее всего, вы допустили где-нибудь маленькую ошибку. К счастью, config(8) выведет номер проблемной строки, поэтому вы можете быстро найти строку, содержащую ошибку. Например, если вы видите:

  config: line 17: syntax error

  Убедитесь, что опция введена верно путём сравнения с файлом `GENERIC` или другим источником.

Не удаётся отработать команде `make`:

  Если не удаётся отработать команде `make`, обычно это означает ошибку в описании конфигурации ядра, которая не достаточно тривиальна для того, чтобы config(8) мог обнаружить её. Опять-таки, просмотрите файл конфигурации, и, если вы все еще не можете решить проблему, напишите письмо в Список рассылки, посвящённый вопросам и ответам пользователей FreeBSD, включив в письмо файл конфигурации ядра. Скорее всего проблема будет решена быстро.

Ядро не загружается:

  Если ваше новое ядро не загружается или ему не удаётся обнаружить ваши устройства — не паникуйте! К счастью, в FreeBSD существует отличный механизм для восстановления после установки несовместимого ядра. Просто выберите ядро, которое хотите загрузить, в загрузчике FreeBSD. Доступ к нему вы можете получить, когда система находится в стартовом меню. Выберите шестой пункт («Escape to a loader prompt»), введите команду `boot `kernel.old``, или используйте любое другое ядро, которое загрузится без проблем. Во время переконфигурирования ядра всегда полезно оставлять копию ядра, о котором известно, что оно рабочее.

  После загрузки с рабочим ядром вы можете проверить ваш файл конфигурации и попробовать собрать ядро опять. Очень полезным в данном случае окажется файл `/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`
Ядро работает, но ps(1) больше не работает:

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

Пред. | Наверх | След.
9.6. Конфигурационный файл | Начало | Глава 10. Печать

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.