Могу ли я создать Ubuntu ISO из манифеста?

Этот ответ говорит о манифестах ISO - пример здесь.,

Можно ли создать ISO из файла манифеста, или файл манифеста просто dpkg --get-selections положить в текстовый файл?

Связанные, Сорта:

1 ответ

Решение

Filesystem.manifest генерируется с помощью команды:

dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest

Синтаксис, таким образом, package_name version, Пример:

 xserver-xorg-video-nouveau  1:0.0.16+git20110411+8378443-1

Формат dpkg --get-selections немного отличается, package_name install

пример

xserver-xorg-video-nouveau  install 

Таким образом, вы можете использовать файл, возможно, более чем одним способом,

apt-get install -y $(awk '{print $1}' filesystem.manifest)

Честно говоря, после того, как за эти годы было сделано несколько нестандартных iso, есть кривая обучения тому, как это работает. Когда вы понимаете несколько вещей, это не так уж сложно, просто необходимые знания умеренно велики, и единого, актуального источника информации не существует.

Вы используете 2 директории сборки

~/custom - build directory for the iso
~/rootfs - build directory for the root file system.

custom - этот каталог содержит все файлы, которые перейдут в окончательный ISO. Он содержит корневую файловую систему, ядро, initramfs и isolinux.

rootfs - этот каталог содержит файловую систему live CD, и вы сжимаете этот каталог (используя mksquashfs) и включаете его в CD. Вы можете создать это с помощью debootstrap (live D с нуля) или извлечь файловую систему из ubuntu-desktop.iso (настроить live CD). Смотрите подробности в вики-ссылках на Ubuntu ниже.

ключевые моменты

1) Понимание mksquashfs - вы используете mksquashfs для сжатия корневой файловой системы в casper/filesystem.squashfs

sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs

2) Понимание isolinux - это делает загрузочный iso, а также меню вашего CD (загрузочного). Смотрите Arch Linux Wiki syslinux.

Вы можете использовать grub2 как альтернативу isolinux, но тогда вам нужно будет понять, как работает grub2;) . Большинство живых CD все еще используют isolinux.

3) Как сделать initramfs. Initramfs - это вторая файловая система, используемая для загрузки. Часто, когда у вас возникают проблемы (пользовательский образ загрузки не работает, модули ядра не загружаются), и вы не можете понять, почему, глядя на вашу корневую файловую систему, ответ очень вероятен в initramfs.

#extract to a working_directory , I use ~/initrd
cd ~/initrd
lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames

# Make your edits / adjustments
# Package
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../custom.initrd.lz

Затем вы перемещаете свой новый initrd.lz в каталог пользовательских сборок, custom/casper/initrd.lz

4) Каспер. Каспер и сценарии Каспера расположены в 3 местах, и все 3 могут сыграть свою роль. Все они являются скриптами bash, и в какой-то момент вы почти наверняка захотите просмотреть их.

А. хозяин - /usr/share/initramfs-tools/scripts/casper

B. корневая файловая система - custom /usr/share / initramfs-tools /scripts / casper

C. в initramfs - см. Каталог /scripts.

Смотрите Ubuntu человек Каспер

5) Вы настраиваете пользовательский интерфейс / приложения в /usr/share, /usr/share/gnome* например, точное местоположение зависит от выпуска, /usr/share/gnome-background-properties/ubuntu-wallpapers.xml это классический и довольно стандартный для всех версий.

6) Если вы не можете сделать настройки в /usr/share/ использовать /etc/skel, Вот /etc/skel/.bashrc классика, этот файл копируется в ~/.bashrc . Вы можете поместить туда различные файлы confg, для firefox или gnome или чего-то еще, но лучше использовать /usr/share, если это вообще возможно (зависит от настроек).

7) mkisofs - вы используете mkisofs для преобразования вашего каталога сборки в iso

cd ~/custom
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-12.04-custom.iso .

8) настойчивость. Вы можете использовать постоянство со многими живыми CD, включая компакт-диск с Ubuntu-Desktop и пользовательский компакт-диск, это реализовано Casper.

A. root - casper будет монтировать раздел или файл с пометкой casper-rw как наложение коровы на /. Если вы затем установите пакет или измените конфигурационный файл, изменения сохранятся после перезагрузки.

Используйте это экономно. Если вы обновите все пакеты, это займет много места. Я также считаю, что этот метод иногда глючит.

Б. Домой - приставка Каспера монтирует раздел или файл с пометкой aas home-rw как корова наложение на / домой.

Я предпочитаю это, так как мои закладки Firefox и личные данные будут сохраняться при загрузке, и я считаю это более надежным.

Постоянный дом (смените на casper-rw для постоянного /)

# this is a 1 Gb file, increase or decrease the count to make it larger or smaller
dd if=/dev/zero of=home-rw bs=1M count=1000

# make a file system
mkfs.ext4 home-rw
mke2fs 1.41.14 (22-Dec-2010)
home-rw is not a block special device.
Proceed anyway? (y,n) y <-- ANSWER 'y' here

#tune the file system to remove reserved blocks and label it 'home-rw'
tune2fs -m 0 -L home-rw home-rw

Положил home-rw в / (в корневом каталоге раздела) или на флэш-диск (не во вложенном каталоге).

Когда вы загружаете LiveCD, нажмите клавишу F6, они Esc, добавить опцию persistent к параметрам загрузки, перед '-'

quiet splash persistent --

Сценарии загрузки Каспера найдут его автоматически.

См. Постоянство вики Ubuntu. На вики-странице Ubuntu обсуждался только casper-rw, но на home -rw есть ссылки в скриптах casper, и он работает точно так же, только имя было изменено.

Смотрите этот пост на форумах Ubuntu, чтобы увидеть скриншот (хотя и с разными вариантами).

C. Вы можете включить сохранение с помощью нескольких графических инструментов, например, unetbootin. Графические инструменты (насколько я знаю) используют casper-rw,

Хорошо, теперь, когда вы все это поймете, эти две страницы станут более понятными

Ubuntu Wiki LiveCD с нуля

Ubuntu Wiki настроить LiveCD

Google

Вам нужно будет Google. Вы найдете фрагменты советов по всему Интернету.

Пример: как изменить заставку LiveCD

Debian Live

Теперь, когда вы все это понимаете, используйте сценарии Debian Live. Не позволяйте названию вас обмануть, эти скрипты прекрасно работают на любой системе.deb, включая Mint и Ubuntu.

Установить

sudo apt-get install live-build

Есть графический интерфейс

sudo apt-get install live-magic

живая магия

Поймите, что живой магический графический интерфейс может потерпеть неудачу так же, как remastersys и другие графические интерфейсы терпят неудачу. В этом случае вы вернетесь к сценариям live -build (live -magic сгенерирует каталог сборки).

Изучение сценариев live -build и структуры / структуры каталогов занимает некоторое время.

Посмотрите на Debian Live Мануэль Да, это долго, просто работайте через него по одному iso за раз.

Преимущество сценариев live -сборки, когда вы понимаете компоненты live -CD, сценарии автоматизируют более 90% сборки, и внесение изменений - это простое редактирование файла конфигурации (обычно) или иногда сборка initramfs.

Слишком долго

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

Если вы начнете с другого набора инструментов, вернитесь к этому набору инструментов и после нескольких iso вы по достоинству оцените этот набор инструкций;)

Моя кастомная версия 12.04, она поддерживает gma500, только 2d (без 3d) из коробки (в ближайшие несколько дней будет открыт доступ к iso для толпы gma 500).

гма 500

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