Конфигурирование ядра (FreeBSD).
пятница, декабря 16, 2005*Этот способ полностью применим ко всем веткам FreeBSD, с учетом некоторых нюансов.
Прежде чем вы начнете работать, советую прочесть HandBook (Глава 8. Настройка ядра FreeBSD).
Сегодня этот способ устарел, но является рабочим.
1. Разворачивание исходников.
Прежде всего, нужно проверить директорию:
/usr/src/sys
Если она не пустая, то исходные тексты уже установлены. Если нет, то их нужно установить.
В данном случае необходима только та их часть, которая называется sys.
*Все действия с системой проводятся именно в этой директории и ее подкаталогах.
2. Составление конфигурационного файла.
*HandBook (Глава 8.4 Конфигурационный файл)
Переходим в директорию /usr/src/sys/i386/conf
Здесь находятся примеры конфигурации. Можно использовать конфигурационный файл GENERIC. Его конфигурация подходит под большинство систем и поставляется вместе с дистрибутивом. По умолчанию именно на ней собрано ядро только что установленной системы. Скопируем его и переименуем в свой файл.
cp GENERIC MyConfig
Править можно любым тестовым редактором. Комментируем ненужные нам строки и открываем желаемые ключи, сохраняемся и выходим в консоль.
3. Подготовка к генерированию.
В этой же директории выполняем:
config MyConfig
Команда создаст в директории /usr/src/sys/i386 директорию compile/MyConfig (о чем и сообщит в конце своей работы) и поместит туда файлы, необходимые для компиляции ядра.
4. Трансляция ядра.
Процесс трансляции генерирует само ядро, для этого переходим в директорию
/usr/src/sys/i386/compile/MyConfig
и выполняем:
make depend && make
она сделает все что нужно.
*Если в процессе компиляции обнаружатся фатальные ошибки, нужно вернуться к п.2 и проверить конфигурационный файл -- он составлен неверно.
5 Установка нового ядра и Перезагрузка.
После того, как компиляция ядра успешно завершилась, выполняем
make install
она переименует старое ядро в kernel.old и поместит в корневую директорию новый kernel.
После этого можно (и нужно) перезагрузить компьютер.
*Если загрузка нового ядра не получилась, можно загрузится со старым ядром. Для этого, в начале загрузки на подсказку Boot: нужно сказать kernel.old.
Естественно, после этого надо снова вернуться к редактированию конфигурации и повторить все последующие пункты.
*ВАЖНО! Если новое ядро опять окажется неработоспособным, можно попасть в неприятную ситуацию, так как после очередного "make install" -
kernel.old - предыдущая неработающая версия kernel
kernel - новая, столь же бесполезная.
Для этого, должен был остаться в корневой директории файл kernel.GENERIC и вы можете всегда загрузить его.
*А чтобы при этом не попасть в вышеописанную ситуацию, можно переименовать пока еще работающий kernel.old в kernel.work или kernel.original и продолжать свои эксперименты. Во всяком случае, всегда останется, по крайней мере, один рабочий вариант ядра.
Ярлыки: FreeBSD