RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Как то не везет мне с винтами последнее время. Уже умирает третий винт подряд, до этого мерли Seageate, а теперь приказал долго житьWD Переустановка, настройка доставляет достаточно мороки. Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. В интернетах описаны методы установки из образа диска. Ну во первых желания устанавливать из образа у меня нету, да и хотел сделать все по феншую. Что мы имеем, Freebsd 8.2-prerelease и флешку на 2 Гб. Форматируем флешку
fdisk -BI /dev/da0
создаем метки
bsdlabel -B -w da0s1
создаем файловую систему и создаем на ней UFS метку
newfs -U -L RootOnUSB /dev/da0s1a
Первая часть окончена, флешка подготовлена к развертыванию на ней системы. Монтируем ее
mount /dev/ufs/RootOnUSB /mnt/tmp
идем в /usr/src где мы собирали наш мир с ядром. устанавливаем мир на флешку
cd /usr/src
make installworld DESTDIR=/mnt/tmp
Мир установлен, осталось поставить ядро и конфигурационные файлы Ядро ставим, точнее копируем банально:
cp -rf /boot/kernel/* /mnt/tmp/boot/kernel/
я например скопировал только кастомное ядро и пару модулей, в частностиzfs.ko,opensolaris.ko Ставим конфигурационные файлы, я это сделаю дважды, для надежности
cd /usr/src/etc
make distrib-dirs DESTDIR=/mnt/tmp
make distribution DESTDIR=/mnt/tmp
а теперь копируем с живой системы
cd /etc
pax -p eme -X -rw . /mnt/tmp/etc/
можно считать что система у нас готова, хотя один момент, нам ведь надо поправить fstabи записать загрузчик я свой fstab довел до такого состояния
Поставим весь необходимый мне софт из имеющейся Freebsd на флешку. Маленьким скриптом создал пакеты из имеющихся в системе
#!/bin/sh
mkdir /home/pkg
cd /home/pkg
for i in `pkg_info | awk '{print $1}'`; do
pkg_create -b $i
done
монтируем папку с пакетами на флешку
mkdir /mnt/tmp/usr/pkg
mount_nullfs /home/pkg /mnt/tmp/usr/pkg
chroot /mnt/tmp /bin/sh
cd /usr/pkg
pkg_add .....(тут уж ставьте что хотите)
fstab поправили, пакеты поставили, осталось сделать флешку загрузочной. Отмонтируем ее
umount /mnt/tmp
и запишем загрузчик
boot0cfg -v -B -o noupdate da0
В принципе все готово.
Статья является симбиозом статей установки freebsd из образа и установки мира в jail Информация взята из http://www.opennet.ru/base/sys/freebsd_stick.txt.html и еще куска про jail, уже не помню где брал PS: Таким образом в принципе можно переносить и на новый жесткий диск, планах написать скрипт который бы делал копию имеющейся флешки