Как добавить пользовательские сценарии при настройке LiveCD

Я хочу добавить пользовательские скрипты при настройке Ubuntu LiveCD.

0
задан 16 March 2012 в 10:26

1 ответ

Мой основной ответ на этот вопрос - эта статья в блоге Turnkeylinux. Это дистрибутив, созданный в Ubuntu, и в его репозитории есть набор сценариев, которые можно использовать на практике. Бонус, вы можете установить их скрипты на магистрали Ubuntu.

Также есть remastersys и пара других, но я обнаружил, что готовые сценарии действительно просты для моих нужд.

Статья:
Преобразование образа виртуального диска: VDI или VMDK в ISO, который вы можете распространять Алон Шварц - 58 комментариев | Последнее по юниту

Почему кто-то в здравом уме хотел бы преобразовать ВМ в ISO?

Хороший вопрос, ответ для Конора Фокса (который был вдохновителем для этого поста - спасибо Конор !) должен был распространять свой собственный образ TurnKey PostgreSQL, чтобы другие могли его использовать.

Распространение ISO-образа в отличие от образа виртуальной машины позволяет устанавливать его на любой платформе виртуализации, а также на голое железо, с дополнительным бонусом запуска в прямом эфире.

Полагаю, это достаточно веская причина, поэтому давайте перейдем к ней.

Конвертировать диск VM в необработанный образ и смонтировать его.

Сначала нам нужно получить qemu-img, инструмент, связанный с qemu (серверная часть виртуализации KVM) для преобразования диска виртуальной машины в необработанный образ, и TKLPatch, механизм настройки TurnKey для упаковки ISO.

Если вы не используете установку TurnKey, см. Замечания по установке TKLPatch .

apt-get install qemu
apt-get install tklpatch

Я покажу, как преобразовать образ VMWK VMWare в формат необработанного диска. Если вы используете другую платформу виртуализации, такую ​​как Virtualbox, см. в этом посте о преобразовании VDI в необработанный образ.

qemu-img convert -f vmdk turnkey-core.vmdk -O raw turnkey-core.raw

Затем смонтируйте необработанный диск как устройство с обратной связью.

mkdir turnkey-core.mount mount -o loop turnkey-core.raw turnkey-core.mount

GOTCHA 1 : если у вашей виртуальной машины есть разделы, это немного сложнее. Вам нужно настроить петлевое устройство, сопоставления разделов и, наконец, смонтировать раздел rootfs. Вам потребуется kpartx для настройки отображений.

loopdev=$(losetup -s -f turnkey-core.raw)

apt-get install kpartx
kpartx -a $loopdev

# p1 refers to the first partition (rootfs)
mkdir turnkey-core.mount
mount /dev/mapper/$(basename $loopdev)p1 turnkey-core.mount

Извлечение корневой файловой системы и настройка для конфигурации ISO

Теперь, сделайте копию корневой файловой системы и размонтируйте петлю.

mkdir turnkey-core.rootfs
rsync -a -t -r -S -I turnkey-core.mount/ turnkey-core.rootfs

umount -d turnkey-core.mount

Если в вашей виртуальной машине были разделы (GOTCHA 1):

kpartx -d $ loopdev losttup -d $ loopdev

Поскольку виртуальная машина является установленной системой, а не ISO таблица файловой системы должна быть обновлена.

cat>turnkey-core.rootfs/etc/fstab<<EOF
aufs / aufs rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0
EOF

GOTCHA 2 : если ваша виртуальная машина использует ядро, оптимизированное для виртуализации (например, включенное в сборки TurnKey VM), вам необходимо заменить его на общее ядро, а также удалить vmware -инструменты, если установлены.

tklpatch-chroot turnkey-core.rootfs

# inside the chroot
apt-get update
apt-get install linux-image-generic
dpkg --purge $(dpkg-query --showformat='${Package}\n' -W 'vmware-tools*')
dpkg --purge $(dpkg-query --showformat='${Package}\n' -W '*-virtual')

exit

Генерация ISO

Наконец, подготовьте cdroot и создайте ISO.

tklpatch-prepare-cdroot turnkey-core.rootfs/
tklpatch-geniso turnkey-core.cdroot/

Вот и все!

Бонус: по умолчанию ISO загружается автоматически. Если вы хотите включить загрузочную заставку TurnKey и загрузочное меню, извлеките cdroot из ISO-образа TurnKey и скажите tklpatch-prepare-cdroot использовать его в качестве шаблона.

tklpatch-extractiso turnkey-core.iso
tklpatch-prepare-cdroot turnkey-core.rootfs/ turnkey-core.cdroot/
tklpatch-geniso turnkey-core.cdroot/
0
ответ дан 16 March 2012 в 10:26

Другие вопросы по тегам:

Похожие вопросы: