Недавно произвел сабж и решил поделится конфигом и описанием процеса.
Так как флешка имеет ограничение на количество перезаписей, пришлось немного поковырять.
Устанавливал стандартной установкой, без установки дополнительных пакетов, никаких извращений не было, за исключением следующих моментов:
1. Создавать swap нельзя, по понятным причинам. 2. Не стоит устанавливать менеджер загрузки, так как он запоминает последнюю загружаемую ОС, т.е. при каждой загрузке производится запись на флешку. Вместо этого лучше установить просто стандартный MBR, либо устанавливать загрузчик со специальным параметром, который запрещает ему писать информацию о последней загружаемой ОС. 3. Вроде бы все.
Вот что надо добавить в /etc/rc.conf чтобы убрать некоторые функции постоянно пишущие на диск:
# Запрещаем fsck в фоновом режиме, на всякий случай :)
background_fsck="NO"
# Запрещаем запись состояния системной энтропии
entropy_dir="NO"
entropy_file="NO"
# Дампы тоже запрещаем
dumpdev="NO"
dumpdir="NO"
# Монтируем домашнюю директорию пользователя root на
# отдельный диск с отображением в память
mdconfig_md0="-t malloc -s 8m"
# Копируем файлы из /etc/skel (при минимальной установке эта
# директория пустая, я решил использовать ее, хотя можно создать
# новую)
mdconfig_md0_files="/etc/skel/"
# Создаем диск в памяти для монтирования /tmp
tmpmfs="YES"
# Задаем размер в 8 мб (можно больше или меньше, в зависимости
# от нужд и объема ОЗУ)
tmpsize="8m"
# Также как и для /var диск в памяти, 8 мб
varmfs="YES"
varsize="8m"
# Наполняем /var
populate_var="YES"
/root в памяти для того, чтобы всякие там записи истории команд и постоянно изменяющиеся настройки не портили флешку. /tmp и /var тоже самое. Из каталога /etc/skel файлы копируются в /root при загрузке, поэтому файлы настроек, которые хотим мы сохранить копируем в /etc/skel Это действие можно автоматизировать, добавив что следует в скрипты исполняющиеся при завершении работы системы, но это уже вы как-нибудь сами сделаете.
Все данные, живущие в каталогах /root /var и /tmp будут утеряны при перезагрузке.
В файл /etc/login.conf необходимо дописать в строку, где живут переменные, следующую строку:
PKG_DBDIR=/etc/pkg
Которая заставит пакетный менеджер хранить информацию о пакетах в каталоге /etc/pkg Естественно сей каталог необходимо создать. После редактирования /etc/login.conf сделайте cap_mkdb /etc/login.conf
Теперь, после ребута, система готова и можно устанавливать дополнительные пакеты.
Вроде бы все. Такую систему можно использовать для выполнения действий, о которых не стоит знать кому-то еще (после перезагрузки все теряется), для ремонта системы в случае поломки, ну и просто хвастаться, что у тебя в кармане лежит Ъ-Unix :)
На полноту не претендую, дополняйте.