Поиск

Газета FOSS News

16 ноября 2011

О газете
Архив
Авторам
Рекламодателям

 

Кабинет читателя

Вход в систему
Введите имя пользователя и пароль для входа в систему:

4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4

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

05.02.10 /

Процес пересборки ядра в 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.


Автор: skeletor

По материалам:

Loading ...

Комментарии

Добавить комментарий

* - необходимое для заполнения поле

*




Изображение CAPTCHA для предотвращения спама
Если слово непонятно, нажмите здесь..
*
*
tehnikpc, 11-01-12 12:42:
"Параметр j4 означает собирать в 4 потока"
Уже не нужно это указывать компилятор сам будет использовать все доступные потоки.
Marsue, 20-01-12 00:43:
No quseiton this is the place to get this info, thanks y'all.
 
© 2004-2009 Журнал "Root UA" - свидетельство СМИ: КВ №14786-3757Р
Газета "FOSS News" - свидетельство СМИ: ОД №1355-236-Р
При использовании материалов портала ссылка на Root.UA обязательна, для интернет-изданий – гиперссылка, не закрытая для индексации поисковыми системами.

sitenews