Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||
www.lissyara.su
—> главная
|
|
Когда "эталон" готово подключаем к нему 2ой винт, перезагружаем
систему в однопользовательский режим.
монтируем разделы:
|
Монтируем второй винт куда будут дампиться разделы
эталонной системы
|
Делаем диру где будут лежать дампы
|
Дальше пользуемся скриптом (tnx to o2x) который сделает нам
сжатые дампы файловой системы нашего "эталона"
Примечание: перед снятием дампов я удаляю /usr/src и /usr/ports
чтобы облегчить вес дампов
|
В результате мы должны получить сжатые дампы разделов системы в дире /mnt/dumps
тоесть:
|
Копируем их куда-нибудь в надежное место, к себе на фтп например
С дампами всё...
С этим компом я закончил, решил что он будет "родительским" для новых образов.
В принципе с ним уже можно делать все что угодно, хоть отфарматировать винт,
дампы то у нас уже есть...
2ой этап: создание загрузочного CD
Данная проблема меня мягко говоря измотала. Т.к. вариантов
решения окозалось довольно много, перечислять не буду.
А будем просто пользоваться портом FreeSBIE
Итак, сделать СД можно на любом фряшном компьютере.
В моём случае был боевой шлюз.
Идем и ставим freesbie
|
Копируем /usr/local/share/freesbie в /usr/local/freesbie
делаем исо:(по вермени - около 2часов)
Если есть необходимость уменьшить размер будущей исошки (приблизительно в 2 раза),
то вносим изменение в файл /usr/local/freesbie/conf/freesbie.defaults.conf
|
при этом будет использоваться файл /usr/local/freebsie/conf/make.conf.minimal
который повлияет на сборку всей системы которая будет на СД
(без дампов такой СД будет весить ~25Мб)
|
Примечание: без установленного cdrtools - исо не создаст.
3ий этап: добавление дампов на образ
Теперь нам необходимо сделанные ранее дампы положить на CD
Дира /usr/local/freesbie-clone/ это и есть то, содержимое
которое будет на нашем CD
Ложим дампы в диру ../dist/dist
|
так же ложим в корень будущей исошки скрипт который будет
разворачивать дампы для будущих систем (tnx to lissyra)
Примечание: здесь можно при желании нафаршеровать еще скриптов, например
post-install, либо закинуть таковые в дампы (у меня post-install в дампах)
|
содержимое скрипта setup
|
Собираем исошку с нашими добавлениями:
Перед этим удаляем старую, и файл-флаг сборки iso
|
FreeBSD-7
Для успешной сборки freesbie на базе FreeBSD-7 (tnx to Fastman)
можно взять ядро GENERIC (файл-конфиг) и заменить им
|
также доавляем в ядро опции
|
примечание: не указывать при сборке freebsie MINIMAL=YES
Это всё - можно забирать по указанному пути заветную исошку и работать, а именно
грузимся с CD запускаем из корня скрипт ./setup
Отвечаем на вопросы каких размеров будет /usr /var
Ждём когда развернёться , ребут и у нас система с нужным нам набором софта и пр.
Дополнительные возможности FreeSBIE
Здесь я хочу описать модули(точнее плагины)
FreeSBIE и то как можно работать
с пакетами.
FreeSBIE Плагины
В FreeSBIE есть возможность подключения модулей для
более тщательной настройки создаваемых образов CD.
Хотя по-умолчанию конфигурация FreeSBIE вполне пригодна
для большинства случаев, подключаемые модули позволяют
вам добавить и расширить её функционал.
Все скрипты плагинов находяться здесь
|
README файл описывает все стандартные модули.
Плагины которые вы хотите использовать необходимо объявлять в
параметре EXTRA конфигурационного файла freesbie.conf.
Краткое описание некоторых из плагинов:
adduser
Подключаемый модуль добавляет пользователя freesbie на CD.
Вы можете уточнить имя пользователя который вам нужен с
FREESBIE_ADDUSER переменной в
freesbie.conf.
autologin
Когда вы подключаете модуль autologin, пользователь freesbie
будет автоматически входить в систему при загрузке.
comconsole
Активация плагина comconsole добавит возможность
серийной консоли, как второй консоли. Настройка
конфигурации в варианте SERIAL_ONLY = YES в freesbie.conf
соберет образ, который будет использовать лишь
последовательную консоль. Можно кроме того, сделать это путем
добавления пользовательских настроек в loader.conf в образ
путем customroot плагина.
customroot
Customroot подключаемый модуль, позволяет добавлять
произвольные файлы на CD. Любой файл(ы) в директории
|
копируются на ваш новый образ. Создавайте подкаталоги,
таким образом как это необходимо для записи файлов в соотвествующие
директории.Например, если вы хотите свой /etc/rc.conf,
поместите его в
|
Любые файлы, добавляемые этим плагином перекрывают
любой другой файл в FreeSBIE.
customscripts
FreeSBIE запустит процесс который выполнит какой-либо скрипт(ы)
который находиться в
|
непосредственно перед созданием ISO образа. Вы можете
добавлять пользователей или редактировать файлы автоматически
с помощью этого плагина.
etcmfs
Этот плагин сообщает системе о том что для /etc необходимо
использовать memory filesystem.
l10n.sh
Тут думаю понятно, позволяет пользователю
выбирать "язык" системы.
mountdisks
При подключении этого модуля , FreeSBIE смонтирует
любые UFS, FAT или NTFS разделы которые будут
найдены на запущеной системе.
pf
Этот подключаемый модуль создает и активирует
firewall(pf)-правило
"block all incoming, allow all" при загрузке.
rootmfs
Этот подключаемый модуль позволяет использовать память
для корневой файловой системы. Хотя пользователь
и может внесить изменения в корневом каталоге, но
они исчезают после перезагрузка. (аналогично с etcmfs)
sound
При загрузке, live-CD происходит автоматическое
определение звуковой карты и установки правильного
звукового драйвера.
swapfind
Если система запущенная с live-CD имеет какие-либо свап партиции,
FreeSBIE находит их и использует. Для этого необходим
режим записи на жесткий диск, естественно,
что может быть нежелательным.
varmfs
Аналогично etcmfs,rootmfs. Работает с разделом /var как с рамдиском.
Естественно после ребута - все будет утеряно.
xautostart
Автозапуск Хов при старте системы.
xconfig
Live-CD автоматически настраивает X-ы при загрузке.
Это может быть необходимо,
когда используеться xautostart.
xconfigure-probe
FreeSBIE использует альтернативный метод для
автоматической настройки X при загрузке.
(По состоянию X предлагает несколько методов
для настройки дисплея)
Выбор пакетов
Вы можете создать текстовый файл
(/usr/local/freesbie/conf/packages),
содержащий все пакеты, которые вы хотите установить на
ваш Live-CD, или вы можете выбрать пакеты из системы набрав
|
Эта команда создаст меню всех пакетов, установленных
на вашей системе и позволит выбрать, какие из них
вы хотите установить на вашем live-CD. Когда вы
выберите пакет, все зависимости добавяться автоматически.
Кто хочет увидеть/попробовать сразу, может скачать экспериментальную сборку
(заточено под 1 хард на Primary Master)
Тут можно скачать последнюю сборку
Ветка форума для обсуждения
размещено: 2008-03-30,
последнее обновление: 2009-10-06,
автор: Morty
Stanley_Goodspeed, 2008-03-31 в 12:56:51
Здорово! Очень полезная статья. Надо будет собрать на досуге. Спасибо!
G, 2008-03-31 в 21:10:23
Написано:
Примечание: можно делать с другой разбивкой, но тогда нада будет
подправить 2 скрипта
А что именно подправить? В одном скрипте вроде видно. А где во 2-м?
Morty, 2008-03-31 в 21:34:30
(для setup): добавить например (/tmp)
echo -n "Enter size of /tmp partition in Mbytes: "
read tmp_size
....
(файл bsdlabel)
e: ${tmp_size}M * 4.2BSD 2048 16384 28528
....tunefs кстати правильнее будет как и для остальных
/sbin/tunefs -n enable /dev/${work_device}s1f >/dev/null 2>&1
и еще одну секцию # resotre по анологии
со снятием дампов думаю ясно
nikll, 2008-04-02 в 16:41:13
Давно задумываюсь на подобную тему.
Есть идея сделать live-dvd конструктор, с которого можно будет сполпинка собирать свежую систему на чистый комп (типо как гента, или BSD From Scratch).
Задачи для реализации следующие:
1. Разобраться с фс (надо писать в память изменения фс, т.к. двд наживую писать невозможно, вариант загружать всю систему в память тоже малопригоден)
2. Надо удобный визуальный редактор разделов жесткого диска, т.к. юзать fdisk+disklabel довольно неудобно...
3. Собственно написать скрипты для автосоздания iso образа из исходников
Если у кого есть инфа по первым двум вопросам, поделитесь...
Morty, 2008-04-02 в 17:04:39
1. рамдиск из скрипта: mdmfs -M -s 3m md1 /mnt
либо при буте делать какойто образ системы и юзать его нечто подобное:
# mdconfig -a -t vnode -f diskimage -u 0
# mount /dev/md0c /mnt
самый простой вариант с mdmfs , при создании ливсд работа с рамдиском неизбежна в любом случае.
2. не знаю , но меня бы устроило даже такой как в сисинстале идет или нечто на подобии досявого fdisk. Хотя и этим скриптом тоже гуд -)
huh, 2008-04-03 в 16:14:35
nikll, в 7 появился sade
Morty, 2008-04-04 в 15:23:25
к сожалению на семерке freesbie не собираеться, проверил на release7 & stable7
midda2, 2008-04-05 в 11:44:41
Простите за назойливость, эта команда видимо совсем не нужна
mount -u /
nikll, 2008-04-05 в 14:31:45
А ктонибудь задумывался про связку из mfs+unionfs
# /sbin/mdmfs -S -i 4096 -s размер_фс -M md /ramfs
# chmod 01777 /ramfs
# /sbin/mount_unionfs -o below / /ramfs
Где "размер_фс" определяет сколько всего места в памяти будет заняо mfs.
А еще можно замарочится с сжатыми образами фс
http://www.lissyara.su/?id=1359 и использовать их в качестве базовых
Morty, 2008-04-05 в 18:01:04
оно именно так и работает
cvghyu, 2008-04-25 в 11:57:14
Очень заинтересовался статьей - решил попробовать сам
Но сиутило примечание MORTY, решил собрать freesbie
cd /usr/ports/sysutils/freesbie ; make ; make install
прошло на ура FreeBSD 7.0-RELEASE
пересобирал мир и ядро, последнией cvsup и portupgrade 22 апр
Dima, 2008-08-12 в 16:17:06
Примечание: перед снятием дампов я удаляю /usr/src и /usr/ports
Если удалить /usr/src то потом не сможет стартонуть
cd /usr/local/freesbie
make iso
Mr.Code, 2008-08-19 в 11:03:00
Есть предложение добавить Abills и тогда вообще цены не будет этой сборке. Готов помочь.
Morty, 2008-08-19 в 12:17:14
почему бы и да :-D
В идеале нужна статья по Abills, хотябы черновой вариант
----------
правда я сейчас взялся за то чтобы переписать установочный скрипт(setup), хочу в стиле sysinstall, с окошечками.
Mr.Code, 2008-08-20 в 7:31:02
Присоединяюсь к процессу разработки. Morty выложи плз новую версию установочного скрипта(какая есть) на фтп...проскаивала мысль сделать свою сборку pfsense
есть локальная копия всего cvs и сервер(могу доставить cvs)
если что стучите в аську 478096529
Mr.Code, 2008-08-20 в 7:48:38
А вообще в ближайшее время хочу занятся написанием демона который будет из БД брать параметры и формировать из них конфиги для демонов а так же веб-приблуду для управления БД
общая схема такова коннект_к_БД=>забираем глобальные параметры=>Забираем параметры для каждого демона=>формируем конфиг для каждого демона=>записываем конфиг
Repz, 2009-06-26 в 11:35:24
Morty большое спасибо за изыскания! :)
собирал 06.2009
7.2-STABLE FreeBSD
PORTNAME= freesbie
PORTVERSION= 2.0.20070710
freesbie при сборке исошки помимо freesbie-clone создает freesbie-fs. В freesbie-fs необходимо внести добавления в структуру каталога, я добавил dist от корня. (в примере /dist/dist)
c дефолтным ядром порта исошка не собирается, ядро устаревшее, замена на GENERIC из исходников.
поскольку restore разворачивает архив в tmp, tmp монтировал от корня.
45 минут и гиговый дамп разлит, через час система в боевом режиме. позитив!
Morty :-)
nero777, 2011-03-13 в 19:20:10
freebsd 7.0 release 12
затычка на создании .iso
error code 255!
nero777, 2011-03-13 в 19:39:11
Vy TNX! всё сработало.убрал опцию -L в iso.sh
большое и челом бью спасибо.дальше буду судачить!
Spileton, 2015-03-30 в 17:03:01
Пробовал установить Linux на флешку как на компьютер, то есть так чтобы устанавливать/удалять. Но это очень ненадёжно, так как износ флэшки, тормоза, убиваемость. Надёжнее будет накатить ISO на флешку, но устанавливать/удалять не получиться. Я сделал так 3 флешки с линуксом, но в итоге только одна осталась рабочей а на двух других были постоянно какие-то сбои (то fsck незагружался, то ещё что-то неработало) которые решались переустановкой программ через chroot.
Может вы знаете другие способы ?
Spileton, 2022-06-27 в 19:44:45
Я сделал так 3 флешки с линуксом (Старая ссылка не работает).
Spileton, 2022-06-27 в 19:45:28
Я сделал так 3 флешки с линуксом (Старая ссылка не работает).
Spileton, 2022-06-27 в 19:46:10
Я сделал так 3 флешки с линуксом (Старая ссылка не работает).
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [23 шт.]