Systemrescuecd кастомизация
Понадобилось скастомизировать (и кастомизировывать далее по мере обновления офф. образа) сисреск. Процедура вполне понятна и проста, но крайне неудобна:
Распаковка и «управление» кастомизацией как бы должны производиться из-под загруженного сисреска (что подразумевает загрузку в виртуалке), а собственно работа с файлами, разумеется, будет удобнее с хоста. Однако способа распаковывать из-под виртуалки так, чтобы это непосредственно отображалось на ФС хоста, я не нашел.
Для виртуализации я использую Virtialbox, потому как удобнее это на хосте (можно qemu/kvm, но разницы в отношении проблематики я не вижу). Единственный годный и простой способ – монтировать внутри виртуалки штатную шару Virtialbox, недоступен ввиду отсутствия поддержки Virtialbox в сисреске.
Были попробованы (или обдуманы) следующие альтернативы:
1. монтирование самба шары. не катит, permission denied. логично, скрипт распаковки должен иметь возможность управлять ими вплоть до uid=0
2. предлагается (упоминается в офф руководстве) использовать nfs, но хз, для начала см. выше, а далее – разворачивать nfs сервер только для одной задачи? оверкилл.
3. попробовал .qed образ и монтирование его с помощью qemu-nbd. как бы должно работать, однако на практике оказывается, что можно без проблем (в смысле без сообщений об ошибках) смонтировать образ и в виртуалку и через qemu-nbd одновременно, проблемы начинаются после – образ разрушается. логично конечно, но вручную следить за тем, чтобы оно то было смонтировано то нет – муторно.
4. решения а-ля «образ ФС в файле» вероятно будет страдать как в п.3. да и выгоды особой нет, все равно это тоже муторно.
5. работать через ssh c виртуалкой – тоже неудобняк, ибо надо настраивать dhcp для виртуалки, и потом каждый раз после ребута passwd или в параметрах ядра это прописывать. known_hosts опять же будет ругаться.
в общем, хотелось бы простой альтернативы штатной шаре virtualbox в терминах доступности из-под сисреска.
- Для комментирования войдите или зарегистрируйтесь
Мне кажется, виртуалка тут
Мне кажется, виртуалка тут совершенно не нужна.
Если процедура предлагает запуск из-под sysrcd, почему бы так и не поступить?
Или, если так важно делать всё из своей системы, может, обычный chroot был бы удобнее?
+1
Конкретно srcd я не кастомизировал, но подобные задачи именно с помощью chroot решал. Ну или systemd-nspawn...
>>почему бы ну давайте
>>почему бы
ну давайте представим что будет далее:
1. запустились, надо что-то смонтировать чтобы распаковать то, из-под чего потом собирать кастомизированный образ. где это что-то взять? ну ладно, пусть это будет флэшка, но файлов там явно немало и объем пара гигов – долго. да и флэшка как-то не очень для таких задач годна. специально подключать другой диск? отрезать место на одном из имеющихся под специальную партицию? решения одно хуже другого. а, ну да, надо отметить, что /mnt/custom перед распаковкой проверяется на то, что это mountpoint. то есть смонтировать какой-то из основных разделов, потом симлинк – не прокатит, и это конечно же снова какие-то костыли.
2. работать в среде сисреска конечно можно, там почти все есть, но это таки далеко не привычная рабочая среда на хосте. а чтобы были интернеты, нужно сеть настраивать итд. куча мелких неудобств в итоге.
3. собственно ввиду того, что с первого раза кастомизация конечно же не получится (нужно сделать/попробовать) и так несколько раз, придется перегружаться то в основной сисреск то в новый кастомный то в основную систему – и тут мне совершенно *не* кажется, что виртуалка *не* нужна.
4. готовая база для кастомизации в итоге будет являться набором скриптов и патчей – логично хранить это и пользоваться этим с основной системы.
способ с qemu-nbd не годится.
способ с qemu-nbd не годится. образ в какой-то момент тихо разрушается. я думал, из-за того, что одновременно смонтирован локально и подключен к виртуалке, но нет. разрушается и без этого.
.
Не совсем понятно что именно ты делаешь и в чём выражается «разрушение образа».
:wq
--
Live free or die
пока сделал на loopback
пока сделал на loopback девайсе – losetup итд. неудобно, но пока работает. Кстати, а что будет если его сразу и в виртуалку смонтировать и на хосте?
.
В качестве первого шага к пониманию я бы не поленился поинтересоваться у авторов обоснованием и смыслом реализованной проверки.
:wq
--
Live free or die
А можно спросить: зачем SRCD кастомизировать?
Если нужна своя система, загружаемая с CD/DVD/USB, то не проще ли самому сгенерить нужный образ? Один раз повозиться, настроить скрипт генерации/прошивки образа и все! Я так делал с нуля уже лет 10-15 назад, а сейчас уже можно найти кучу подобных полуготовых проектов-прототипов.
Думаю что не проще таки. Ибо
Думаю что не проще таки. Ибо в сисреске действительно почти все нужное есть, плюс он легко кастомизируем. А вся нужная кастомизация сводится к мелочам – изменить параметры ядра, дособрать несколько пакетов, интегрировать ключи, настроить шелл, пару скриптов запихать итд. А самому собирать – даже составление списка пакетов нужных займет больше времени-усилий.