Компиляция ядра FreeBSD. Пошаговое руководство.
В статье описано как компилировать ядро FreeBSD. При правильной конфигурации размер ядра может намного уменьшиться.
Для того, чтобы вы могли скомпилировать свое ядро вам надо было с диска установить
src - Source for everything but encryption
и потом выбрать
sys - /usr/src/sys (FreeBSD kernel).
Доставить можно через /stand/sysinstall.
Считаем, что исходники ядра вы установили.
Под пользователем root идем в папку /usr/src/sys/i386/conf.
Копируем файл GENERIC, например в mykernel. Полученный файл и будем править.
Если у вас машина Pentium4, то советую сразу закомментировать строки:cpu I386_CPU
cpu I486_CPU
cpu I586_CPU
пусть наша машина будет настроена на определенный процессор и не распыляется на всякую фигню ;)
Можно отключить не используемы устройства, что уменьшит размер ядра и соответственно нагрузку на процессор. Посмотреть какие у вас устройства можно командой dmesg, после загрузки компьютера.
Так же можно добавить устройства, которые по умолчанию не поддерживаются в ядре. Более подробно устройства описаны в файл LINT для FreeBSD ветки 4.х, и в файле NOTES для FreeBSD ветки 5.х.
После того как мы отредактировали наш файл, можно приступить к его компиляции.
Нам надо будет выполнить следующие команды:
Код |
|
1 |
config mykernel - конфигурим ядро |
Если все прошло удачно, то все что нам надо это перезагрузиться.
Если вдруг перезагрузка не прошла нормально, то мы можем загрузиться со старым ядром. Для этого надо во время отсчета 9 сек. нажать любую клавишу и написать boot kernel.old.
Если загрузка прошла нормально, то мы получаем новое ядро и работаем в системе с обновленным ядром ;).
P.S. Советую перед экспериментами сохранить нормальное ядро, например под именем kernel.good и тогда если не загрузилось наше новое ядро, мы вместо kernel.old укажем boot kernel.good. Это предлагаю сделать, потому что при новом собирании ядра наш kernel.old перезапишется например не рабочим ядром и мы вообще не сможем загрузиться.
P.P.S. Сохранение хорошего рабочего ядра:
Для FreeBSD 4.x - команда cp /kernel /kernel.good
Для FreeBSD 5.x - команда cp -R /boot/kernel /boot/kernel.good
Второй способ обновления ядра:
Перейдите в каталог /usr/src.
# cd /usr/src
Соберите ядро.
# make buildkernel KERNCONF=MYKERNEL
Установите новое ядро.
# make installkernel KERNCONF=MYKERNEL
Замечание: Этот способ построения требует наличия всех исходных файлов систем. Если вы только установили исходные файлы ядра, то используйте традиционный способ, как описано выше.
MYKERNEL - конфигурационный файл вашего ядра, который для i386 находится в папке /usr/src/sys/i386/conf. Если не указывать параметр KERNCONF, то соберется ядро GENERIC.