Документация по ОС FreeBSD Среда, 18.06.2025, 03:45
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

Пересобираем ядро в FreeBSD

Процес пересборки ядра в FreeBSD по-моему, намного легче, чем в linux (это сугубо моё мнение). Он состоит из 3 этапов: установка исходников, внесение изменений в файл конфига ядра, собственно пересборка. 

1) Установка исходников

Первым делом ставим их (если они у вас уже стоят, то этот этап можно пропустить). Ставить можно по разному, с диска, с ftp, ... Я чаще всего ставлю с диска. И так, вставляем диск, запускаем от рута sysinstall и выбираем пункт меню Configure -> Distribution -> src и выбираем откуда ставить. Я выбираю с диска. 

2) Внесение изменений в ядро.

После установки исходников, идём редактировать файл конфигурации ядра. Он находится по адресу /usr/src/sys/{тип установленной ОС: i386, amd64, ...}/conf/{имя файла ядра}. По умолчанию присутствует несколько файлов конфигурации, включая GENERIC. Это как бы самый основной конфиг, подходит для большинства. Вот его и рекомендую править, точнее копию. (копируем GENERIC например в kern1) и дальше будем править только kern1, что бы если что, можно было обратно вернуться на GENERIC.

Теперь открываем полученный kern1 любым удобным редактором и вносим собственно изменения. Обычно это добавление каких-то устройств, опций. Рекомендую при внесении изменений добавлять свои комментарии. При удалении, лучше закомментировать сообвествующий опции, вместо того, что бы просто удалить.

После внесения изменений, сохрнаняемся, и выходим. 

3) Собственно компиляци нового ядра.

После всех изменений, переходим в каталог /usr/src и выполняем следующую команду (если вы компилируете на многопроцессорной машине, имеет смысл выполнять make с ключом -j, где n – количество процессоров:)

#make -j4 buildkernel KERNCONF=kern1 && make installkernel KERNCONF=kern1

Параметр j4 означает собирать в 4 потока, то есть значительно быстрее. Если у вас не Pentium3, а хотя бы какой-нибудь dualcore тогда применение этого параметра будет целесообразным.

Если всё прошло успешно, то можно будет перегрузить машину, и проверить изменения.

Примечание Если вдруг новое ядро не загрузилось, тогда делаем так. При загрузке появляется 10 секундная пауза, выбираем пункт 6 и делаем такие действия

OK unload kernel_name

OK load /boot/kernel.old/kernel

OK boot

, где kernel_name - имя нового ядра при сборке

Возможно на некоторых системах вторая строчка может показывать сообщение, что ядро не найдено. Тогда можно попробовать сделать так.

OK unload kernel_name

boot /boot/kernel.old/kernel 

4) Некоторые опции конфига ядра работы с модулями.

NO_MODULES="YES" - не компиллировать модули

MODULES_OVERRIDE=acpi ipfw - компиллировать только указанные модули (задаются через пробел)

WITHOUT_MODULES=pf ntfs_iconv - не компиллировать указанные модули (будут скомпиллированы все, кроме указанных модулей) 

5) Полезная опция

Начиная с персии 7.0 появилась переменная sysctl kern.conftxt, которая позволяет просмотреть, с какой конфигурацией собрано текущее ядро (следует использовать команду «sysctl -b kern.conftxt»). Правда, доступной она будет только в случае, если ядро собрано с опцией INCLUDE_CONFIG_FILE (в файле GENERIC она отсутствует). Также можно воспользоваться командой «config -x /boot/kernel/kernel», извлекающей конфигурацию из указанного двоичного файла ядра. Раньше опция INCLUDE_CONFIG_FILE тоже поддерживалась, но конфигурацию приходилось «выдирать» из бинарного файла с помощью утилиты strings.



Источник: http://root.ua/materialy/stati/full/article/peresobiraem-jadro-v-freebsd/507.html
Категория: Установка и настройка | Добавил: oleg (08.02.2010) | Автор: skeletor
Просмотров: 1066 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2025