betaВсеукраинский портал разработчиков и пользователей свободного программного обеспечения. |
||
| Поиск | ||
Рассылка |
Пересобираем ядро в FreeBSD05.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. По материалам: Комментарии |
|
|
© 2004-2009 Журнал "Root UA" - свидетельство СМИ: КВ №14786-3757Р
Газета "FOSS News" - свидетельство СМИ: ОД №1355-236-Р При использовании материалов портала ссылка на Root.UA обязательна, для интернет-изданий – гиперссылка, не закрытая для индексации поисковыми системами. sitenews |
||
Добавить комментарий
Уже не нужно это указывать компилятор сам будет использовать все доступные потоки.