Загрузочная флешка

Довольно часто приходится переустанавливать систему знакомым. Бывает, что ОС Windows кроме синего экрана ничего не показывает, а данные нужно сохранить и хранятся они на системном диске. Решил сделать загрузочную флешку с ОС FreeBSD, на которую будут установлены все необходимые программы, в частности - для работы с NTFS, Perl и т.д. Можно установить все, что угодно, даже графическую среду. Так же на флешке будет храниться дистрибутив FreeBSD, для того чтобы можно было развернуть ее без использования установочного диска на любом сервере в нужной конфигурации (например sysinstall не умеет работать с GPT, ZFS, gjournal), а флешка в данном случае с установленной ОС очень удобное средство.

Итак, приступим. Нам нужно:

  • Флешка, не меньше 512 Мб
  • Первый установочный диск FreeBSD

Размечаем флешку. У меня в системе она определилась как da0

fdisk -BI /dev/da0
bsdlabel -w -B /dev/da0s1

Далее создаем файловую систему.

newfs -O2 -L FreeBSDonUSB /dev/da0s1a

Теперь флешка готова для записи системы. Монтируем ее.

mount /dev/ufs/FreeBSDonUSB /media

Теперь нужен первый установочный диск FreeBSD. Вставляем в cdrom или если есть образ, то монтируем его.

mdconfig -a -t vnode -f 7.2-RELEASE-i386-disc1.iso
mount_cd9660 /dev/md0 /cdrom

Указываем папку куда будет ставиться ОС

setenv DESTDIR /media

Устанавливаем базовую систему.

cd /cdrom/7.2-RELEASE/base
./install.sh

При выводе сообщения на экран соглашаемся с ним. 
Устанавливаем ядро.

cd /cdrom/7.2-RELEASE/kernels
./install.sh generic

Если нужны маны в системе, то заходим в папку manpages и запускаем install.sh.
Переименовываем папку с ядром.

cd /media/boot
rmdir kernel
mv GENERIC kernel

Правим fstab

echo '/dev/ufs/FreeBSDonUSB / ufs rw,noatime 1 1' >> /media/etc/fstab

Если версия системы ниже FreeBSD 7.2, то нужно подгрузить модуль geom_label, чтобы определились имена разделов.

echo 'geom_label_load="YES"' >> /media/boot/loader.conf

Ну все, флешка готова. Отмонтируем ее и можно загружаться. Так же после загрузки нужно провести первоначальную настройку системы, о которой можно прочитать в этой статье.

P.S. Если нужен интерактивный загрузчик, то нужно выполнить

boot0cfg -v -B -o noupdate da0

Вернуть обратно можно командой

fdisk -B /dev/da0

P.P.S На FreeBSD 8.0+ наблюдается ошибка при запуске системы и монтировании корневого раздела. Это связано с тем, что в этой ветке добавлена новая реализация usb стека и многие подсистемы избавлены от блокировок, в следствии чего usb устройство может не успеть определиться до загрузки корневого раздела. Лечится это просто, нужно поставить небольшую задержку при определении устройств:

echo "kern.cam.boot_delay=10000" >> /boot/loader.conf
echo "kern.cam.scsi_delay=10000" >> /boot/loader.conf

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Яндекс.Метрика