Что нам стоит мир построить?
Докучаев Дмитрий aka Forb
Xakep, номер #059, стр. 059-086-3
Вроде все готово, и самое время приступать к ответственному шагу – команде make buildworld, которая соберет новую систему. Переходим в каталог /usr/src и выполняем команду. Можно указать опцию –j4 (так рекомендует HandBook), что влечет за собой создание четырех подпроцессов команды make. При достаточно мощной машине такая опция даст выигрыш во времени сборки. Наберись терпения: процесс занимает от получаса до трех-четырех часов. Все зависит от конфигурации. В любом случае, он должен завершиться нормально (либо ошибкой, которая довольно легко исправляется).
Ядерные настройки
Разумеется, новая FreeBSD 4.8 не будет работать со старым ядром. Поэтому тебе придется пересобрать кернел, прежде чем инсталлировать свежескомпиленные бинарники. С этим процессом также связан ряд тонкостей. Во-первых, стандартным путем ядро не скомпилится. Система выругается на несовместимость версий, когда ты наберешь команду “config KERNELCONF”. Но об этом чуть ниже. Во-вторых, нужно грамотно отредактировать конфиг (по дефолту GENERIC) ядра. Он находится в каталоге /sys/i386/conf. Не буду давать тебе наставлений по настройке твоего ядрышка, лишь скажу – выкинь ненужные девайсы (зачем тебе тратить на это лишнюю память?), а также проследи за важными опциями (я, например, напрочь забыл врубить SMP и временно лишился одного процессора ;)). Короче, удели конфу максимум внимания.
И, наконец, после того, как конфиг грамотно отредактирован, возвращайся в каталог /usr/sys и выполняй команду make buildkernel. Умная система соберет новый config для файла, а лишь затем скомпилирует исходные тексты ядра. Если все прошло без ошибок (как ни странно ;)), можешь инсталить ядро в систему. Это делает команда make installkernel. Внимание, еще раз убедись, что ошибок не было! Самостоятельное редактирование Makefile’ов и прочих скриптов с целью избежания фатальных завершений, как правило, не приводит ни к чему хорошему.
Последние штрихи
Если ты выполнил все вышеописанные действия, то считай, что система почти собрана. Осталось лишь проинсталлировать свежие бинарники. Это делает команда make installworld. Процедура занимает около 15 минут и является почти последним шагом. Ошибки на этом этапе могут иметь место лишь в том случае, если были фатальные исходы на предыдущих. Лично у меня не возникло никаких сложностей при инсталляции. Но случаи бывают разные. И, наконец, последним шагом к ребуту будет запуск скрипта mergemaster. Этот файл создан специально для процесса синхронизации между старыми и новыми файлами. Запустив mergemaster без параметров, ты увидишь список конфов, которые подверглись изменению. В конце просмотра скрипт спросит тебя – удалить новый файл и заменить им старый или оставить свежую конфигурацию. Рекомендуется ничего не удалять (если на это нет особых причин).