21 ноября 2024 года

Вы здесь

Оптимизация и сборка ядра FreeBSD

Cборка ядра FreeBSD

После установки операционной системы FreeBSD, ядро GENERIC  (по умолчанию) поддерживает всевозможные устройства, которые отсутствуют в системе. Поэтому, чтобы увеличить быстродействие системы, уменьшить объем занимаемой памяти ядром, включить необходимые опции, убрать поддержку всего отсутствующего железа – будем пересобирать ядро.

Ядро во FreeBSD проще пересобрать, чем ядро Linux. Ядро будем компилировать для архитектуры i386. Предварительно, Вам необходимо проверить наличие исходников для компиляции ядра. Эти файлы расположены по пути /usr/src/ и если эти файлы отсутствуют, то их необходимо установить. Например, через sysinstall->Configure->Distributions->src

Проверить принадлежность своего процессора к определенной архитектуре вы можете с помощью команды:

grep -w CPU: /var/run/dmesg.boot

В этом же файле можно просмотреть список всего оборудования, определившегося при загрузке. Полный путь к исходникам для архитектуры i386 будет выглядеть следующим образом:

cd /usr/src/sys/i386/conf/

Переходим в папку и смотрим, что там есть:

/usr/src/sys/i386/conf/> ls
GENERIC

Посмотреть содержание файла можно здесь.

Желательно сделать копию файла GENERIC и назвать его каким-то созвучным компьютеру именем, например:

cp GENERIC D530

Далее открываем скопированный файл D530 и затачиваем его под свое железо и добавляем/убираем необходимые опции. Пример отредактированного файла можно посмотреть здесь. Обязательно проверьте наличие перевода строки в конце файла, в противном случае компиляция может закончиться ошибкой!

Возвращаемся в каталог с исходниками и приступаем к компиляции ядра:

cd /usr/srс  
make buildkernel KERNCONF=D530

После окончания компиляции ядра необходимо внимательно просмотреть сообщения и возможные ошибки компиляции. Если ошибок нет, приступаем к установке ядра:

make installkernel KERNCONF=D530

Сейчас можно перезагрузить компьютер с установленным ядром:

shutdown -r now

Если собранное вами ядро не загружается, можно попробовать восстановить старое, если при загрузке перейти в консоль и выполнить команду:

boot kernel.old

Удачи!