Нам потрібно на робочій системі мати останні версії port-ів а також, останнє дерево вихідного коду, з цією метою ми встановлюємо програму cvsup. В портах вона розміщена тут:
# cd /usr/ports/net/cvsup-without-gui
# make install clean
Створюємо каталог для наших робочих файлів
# mkdir /etc/cvsup
Копіюємо шаблони в робочу директорію
# cp /usr/share/examples/cvsup/standard-supfile /etc/cvsup/
# cp /usr/share/examples/cvsup/ports-supfile /etc/cvsup/
Правимо standard-supfile і ports-supfile
Міняємо *default host=CHANGE_THIS.FreeBSD.org
на *default host=cvsup.ua.FreeBSD.org
Оновлюемо порти
cvsup /etc/cvsup/ports-supfile
Оновлюємо (синхронізуємо) дерево вихідного коду з серверним (сорци повинні бути встановлені завчасно)
cvsup /etc/cvsup/standard-supfile
Потім переходимо в cd /usr/src для оновлення світу (Make World)
# make buildworld
Після цього нам потрібно зібрати власне ядро, для цього переходимо в
# cd /usr/src/sys/i386/conf/
Копіюємо
cp GENERIC My-Kernel
Додаємо необхідні опції, дізнатись які опції підтримує ваш сервер можна командою
# make LINT
cat ../../conf/NOTES NOTES | sed -E -n -f ../../conf/makeLINT.sed > LINT
echo «include LINT» > LINT-VIMAGE
echo «ident LINT-VIMAGE» >> LINT-VIMAGE
echo «options VIMAGE» >> LINT-VIMAGE
При цьому створюється файл LINT із списком, опис опцій можна дізнатись прочитавши файл
# cat /usr/src/sys/conf/NOTES | less
Далі починаємо компіляцію ядра
# cd /usr/src/
# make buildkernel KERNCONF=My-Kernel
Після компіляції ядро необхідно встановити наступною командою
# make installkernel KERNCONF=My-Kernel
По завершенні інсталяції нового ядра перезавантажуємо систему.
Після вдалого старту нового ядра, переходимо в однокористувацький режим, в сеансі root вводимо команду
# shutdown now
що призведе до переходу в режим single user, або вибрати пункт (single user) в меню завантажувача, в цьому разі після завантаження потрібно ввести наступні команди:
# fsck -p (перевірка файлової системи)
# mount -u / (монтування кореневого розділу в режимі читання/запису)
# mount -a -t ufs (монтування всіх інших розділів)
# swapon -a (включаємо файл підкачки)
Для інсталяції нового світу (World) проводимо наступне
# make installworld
# mergemaster
# reboot
Вуаля, у нас нова система, але вона зовсім безпорадна як маленька дитина.
В настпній замітці будем навчати її і нарощувати мязи.