Користувальницькькі налаштування

Налаштування сайту


freebsd:sys_on_flash

FreeBSD на флешке

Есть не плохая статейка по теме: Опыт миграции на usb на сайте лиссяры.

От себя могу предложить немного упрощенный вариант:

  • Предварительная подготовка
  • Форматируем флешку
  • Копируем минимальное окружение
  • Правка системных файлов
  • Ставим загрузчик
  • Готово

Автор по ходу еще предлагает поставить софт “сразу”. Благодаря новой системе пакетов pkg считаю необходимость “в извращениях” не сильно актуальным. Проще “на готовой уже поставить”.

Поехали:

Предварительная подготовка

Автор этим не занимается. Мне так проще … Помогает “в будущем”.

Этот “хак” очень удобен при использовании/разворачивании jail“ов.

С ближайшего FTP, для меня это Украинские, например ftp6.ua.freebsd.org качаем архивы по необходимости (все качать не обязательно):

ftp://ftp6.ua.freebsd.org/pub/FreeBSD/releases/i386/10.0-RELEASE

i386 - архитектура

10.0-RELEASE - версия, сейчас самая актуальная. Но поддерживаются и более ранние.

Файлы

base.txz - “базовая система”. для jail можно больше ни чего не качать. :)

doc.txz - “документация”. в объяснениях не нуждается :)

games.txz - :)

kernel.txz - “Ядро”. Нам для флешки тоже необходимо.

ports.txz - “порты”. Необходимо для установки ПО из портов. Может пригодиться. По желанию\необходимости легко потом добавляется.

src.txz - Исходные коды. аналогично портам.

Для “маленьких” флешек по началу порты и исходники лучше не копировать …

Для удобства все необходимые файлы я скачиваю в подкаталог домашнего каталога bsd. По желанию можно добавить “метку” версии системы.

Форматируем флешку

На данном этапе отступать от автора нет необходимости. Повторю за ним:

Кстати - как и у автора так и здесь - заведомо специально чистить флешку нет необходимости (у автора про это умалчивается или не акцентируется внимание).

Форматируем флешку

fdisk -BI /dev/da0

создаем метки

bsdlabel -B -w da0s1

создаем файловую систему и создаем на ней UFS метку

newfs -U -L RootOnUSB /dev/da0s1a

Копируем минимальное окружение

Первая часть окончена, флешка подготовлена к развертыванию на ней системы.

Монтируем ее

Перед вслед. шагом у автора могут возникнуть при повторении “буква в букву” ошибки. обычно каталога /mnt/tmp нет и его можно\необходимо создать, например командой mkdir /mnt/tmp или из/через mc.

mount /dev/ufs/RootOnUSB /mnt/tmp

Далее автор со слов идем в /usr/src где мы собирали наш мир с ядром. устанавливаем мир на флешку начинает “компилировать” на флешку мир. Не обязательно …

Распаковка.

Далее мне удобнее работать из mc.

Переходим в каталог c архивами. на 1-й панели, /mnt/tmp на другой.

Далее по очереди планомерно по мере необходимости захожу в архивы и все содержимое полностью копирую прямо в /mnt/tmp.

Эту “фишку” мне подсказал знакомый Колесник И.К. ака Ivan

Правка системных файлов

cd /etc
pax -p eme -X -rw . /mnt/tmp/etc/

можно считать что система у нас готова, хотя один момент, нам ведь надо поправить fstab и записать загрузчик я свой fstab довел до такого состояния

# Device             Mountpoint      FStype  Options         Dump    Pass#
/dev/ufs/RootOnUSB   /               ufs     rw,noatime      1       1
/proc           /proc           procfs  rw,noauto    	  0       0

Так как мы будем грузить с метки ufs/RootOnUSB то добавим в loader.conf следующее

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

Имеется одна тонкость у материнских плат, не все сразу определяют umass, поэтом допишем еще ожидание загрузки для инициализации

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

Для уменьшения числа операций записи на USB, автор создает локальную базу данных и запрещает еженедельное обновление.

После ставит ПО.

Я сразу этого не делал.

Ставим загрузчик

fstab поправили, пакеты по необходимости поставили, осталось сделать флешку загрузочной.

Отмонтируем ее

umount /mnt/tmp

и запишем загрузчик

boot0cfg -v -B -o noupdate da0

Готово

В принципе все готово.

Автор еще добавил скрипт “копирования флешки”. Я его не пробовал.

freebsd/sys_on_flash.txt · Востаннє змінено: 2014/06/26 07:24 (зовнішнє редагування)

Якщо не вказано інше, вміст цієї Вікі підпадає під дію такої ліцензії: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki