1) Что описывает этот документ?
2) Кому и почему следует сделать это?
3) Описание процесса перехода
3.0) Предварительные меры
3.1) Компиляция новой системы
3.2) Компиляция и установка нового ядра
3.3) Создание новых устройств в каталоге /dev
3.4) Установка новой системы
4) Полезные ссылки
1) Что описывает этот документ?
Документ описывает каким образом можно мигрировать с FreeBSD-3.X на FreeBSD-4.X.
2) Кому и почему следует сделать это?
Всем, кто использует FreeBSD и собирается в дальнейшем использовать FreeBSD.
Данная операция производится один раз. Этой операцией сдедует воспользоваться потому, что
поддержка версий 3.X скоро будет закончена, а вы, скорее всего, захотите воспользоваться новым программным
обеспечением, таким как новый компилятор gcc-2.95.2
или программным обеспечением, поставляемым в виде портов (aka ports
).
3) Описание процесса перехода.
3.0) Предварительные меры
Настоятельно рекомендуем осуществить резервное копирование!
Итак, мы с помощью CVSup "накатили" исходные тексты системы 3.X, расположенные в /usr/src
.
Очистите /usr/obj
:
# cd /usr/obj # chflags -R noschg * # rm -rf *Проверьте количество свободного пространства:
# df -k ........БУДЬТЕ ОСТОРОЖНЫ! Обратите внимание на количество свободного места тома /usr!!!
# cd /usr/src # make buildworld |& tee build.logДанная операция займет несколько часов. После её окончания следует заглянуть в
build.log
и проверить наличие ошибок.
Если ошибок нет - можно продолжать.
3.2) Компиляция и установка нового ядра
# cd /sys/i386/confСледует рассмотреть ядро LINT. Некоторые драйверы поменяли свои название, а некоторые и вовсе были исключены.
controller
заменена на device
Итак, после исправлений в вашем ядре (предположим, что оно называется MY_KERNEL
):
# cd /usr/src # make buildkernel KERNEL=MY_KERNELЕсли компиляция ядра завершилась успешно - установим новоё ядро.
# cd /usr/src # make installkernel KERNEL=MY_KERNEL3.3) Создание новых устройств в каталоге
/dev
mknod
.
# cd /usr/src/sbin/mknod # make installСохраним умеющийся у нас
MAKEDEV
и установим его новую версию.
# cp /dev/MAKEDEV /dev/MAKEDEV.3S # cp /usr/src/etc/MAKEDEV /dev/MAKEDEV # cd /dev # ./MAKEDEV allЕсли вы используете
ATAPI
-устройства, то необходимо создать
новые описания для каждого IDE-диска, а также для каждого slice
и partition
на этом диске.
Например, ранее разделы (partitions
) назывались: wd0s1a
, wd0s1b
, wd0s1e
, wd0s1f
.
# cd /dev # ./MAKEDEV ad0s1 # ./MAKEDEV ad0s1a # ./MAKEDEV ad0s1b # ./MAKEDEV ad0s1c # ./MAKEDEV ad0s1d # ./MAKEDEV ad0s1e # ./MAKEDEV ad0s1f
# cp /etc/fstab /etc/fstab.3S # vi fstabИзменим все вхождения
ATAPI
-устройств с wdXsXX
на adXsXX
и перезагрузим систему.
# reboot3.4) Установка новой системы
single-user mode
.
Когда loader
загрузит ядро, следует предотвратить автоматическую загрузку
системы, нажав клавишу Space
и написать boot -s
.
Смонтируем файловые системы:
# mount /usr # mount /var # mount / # swapon -aПроведём устновку новой системы:
# cd gnu/usr.bin/texinfo/install-info # make install # cd ../../../.. # ldconfig -R /usr/obj/usr/src/lib/libc # make installworldВсё должно пройти успешно.
После установки следует запустить mergemaster
. Предварительно прочитайте man
этой команды.
Узнаем название загрузочного диска (например:ad0
);
# cat /etc/fstabи установим новый загрузчик:
# disklabel -B ad0Система установлена. Перезагружаем компьютер.
ВНИМАНИЕ! В версии 4.1.1 появились новые возможности. Проверьте наличие ssh
и openssl
в /var/db/pkg
.
Скорее всего они вам уже не нужны, потому что новая версия FreeBSD их уже содержит в себе.