Установка FreeBSD на USB-носитель

Рейтинг:   / 1
ПлохоОтлично 

Однажды мне в офис привезли сервер, у которого, по словам владельцев "что-то" отвалилось. Сервер был явно интеловским и таким потертым, как будто на нем с горки катались - поэтому модель на глаз определить не удалось. Зато со слов пострадавших на нем стояла FreeBSD amd64 и абсолютна не грузилась. CD-привод также отсутствовал, а своего привода у меня до сих пор нет. Поэтому решено было грузиться с флешки и быстро - время уже подгоняло, и очень хотелось свалить домой пораньше (тяпница - короткий день!) До этого момента я как-то не грузил FreeBSD с флешки - поэтому сначала пришлось погуглить. Найти что-либо полезное удалось не сразу, но всё-таки я наткнулся на статью, которую даже запомнил с первого прочтения. Да, в общем, нет ничего сложного в этом - сделать загрузочную флешку - особенно, если FreeBSD уже где-то стоит. А у меня она стояла на серваке - такая же, amd64. Итак.

 

Перед началом лучше отыскать установочный диск FreeBSD или iso-образ. Оно понадобится. Монтируем iso:

1
2
mdconfig -a -f 7.0-RELEASE-amd64-disk1.iso
mount -t cd9660 /dev/md0  /cdrom

Для тех, у кого нашелся установочный диск всё проще:

1
mount /cdrom

Дальше разбиваем флешку. Если это единственная флешка, которая сейчас в компьютере, то она скорее всего определилась как /dev/da0 - но этот факт обязательно нужно проверить. А еще лучше - отключить другие флешки на всякий пожарный. Добавлю еще - флешка должна быть пустая. Для начала так проще.

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

Значения используемых ключей для fdisk такие:

    -B = инициализировать boot-сектор     -I = делать один слайс на всю флешку

А ключи bsdlabel означают:

    -B = взять загрузчик /boot/boot и поместить его на слайс     -w = произвести запись стандартной метки

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

1
2
newfs -U -L FreeBSD /dev/da0s1a
mount /dev/da0s1a /mnt

Теперь осталось только установить файлы с диска на флешку. Сначала базовые файлы:

1
2
3
cd /cdrom/7.0-RELEASE/base
export DESTDIR /mnt
./install.sh

Потом файлы ядра:

1
2
3
4
5
cd /cdrom/7.0-RELEASE/kernels
export DESTDIR /mnt
./install.sh GENERIC
rmdir /mnt/boot/kernel
mv /mnt/boot/GENERIC /mnt/boot/kernel

Теперь осталось совсем немного. Ставим стандартный загрузчик:

1
boot0cfg -v -B -o noupdate da0

Ключи означают:

    -v = показывать подробности на экране     -B = установить стандартный загрузчик 'boot0'     -o = опции. в данном случае - не трогать mbr, мы сделали это раньше

Финальная часть балета - поправка файлов fstab (чтоб знать, откуда грузиться) и loader.conf (чтоб знать, что грузить)

1
2
echo 'geom_label_load="YES"' >> /mnt/boot/loader.conf
echo '/dev/ufs/FreeBSD  /  ufs  rw,noatime  1 1' >> /mnt/etc/fstab

Еще небольшое действие желательно выполнить для тех, кто монтировал iso, а именно:

1
mdconfig -d md0

На этом всё. Далее рекомендую загрузиться с флешки и, если позволяет объем поставить, на нее необходимые душеспасительные программы. Это делается как обычно. В моем случае этого делать не пришлось - оказалось, народные умельцы снесли fstab, видимо использовав знак '>' вместо '>>' при операциях, похожих на те, которые я делал в последнем пункте.

You have no rights to post comments

Яндекс.Метрика