Я могу создать ISO Ubuntu из декларации?

Этот ответ переговоры о декларациях ISO - пример здесь..

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

Связанный, вид:

13
задан 13 April 2017 в 05:24

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.

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

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

ключевые пункты

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

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

2) Поймите изо-Linux - это делает ISO загрузочной, а также Ваш CD (начальная загрузка) меню. Посмотрите Дугу Linux Wiki syslinux.

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

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) casper. Casper и casper сценарии расположены в 3 местах, и все 3 могут играть роль. Они - все сценарии удара, и в какой-то момент Вы почти наверняка захотите просмотреть их.

A. хост - /usr/share/initramfs-tools/scripts/casper

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

C. в initramfs - См. / каталог сценариев.

Посмотрите человека Ubuntu casper

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 или гнома или что не, но/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, включая настольный человечностью CD и пользовательский CD, это реализовано casper.

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

Используйте это экономно. При обновлении всех пакетов займет много места. Я также нахожу, что этот метод иногда является багги.

B. Домой - casper подоконник монтируют раздел или файл маркированный научный работник 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 в / (в корневом каталоге раздела) или на флеш-накопитель (не в подкаталоге).

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

quiet splash persistent --

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

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

См. Это сообщение на форумах Ubuntu для обхода снимка экрана через (хотя с различными вариантами).

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

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

Ubuntu Wiki живой CD с нуля

Ubuntu Wiki настраивает живой CD

Google

Необходимо будет погуглить. Вы найдете фрагменты совета на всем протяжении Интернета.

Пример: Как изменить Живой экран-заставку CD

Живой Debian

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

Устанавливать

sudo apt-get install live-build

Существует графический интерфейс

sudo apt-get install live-magic

live-magic

Поймите, что живое волшебство gui может перестать работать, так же, как remastersys и другой сбой guis. В таком случае Вы отступаете к сценариям живой сборки (живое волшебство генерирует каталог сборки).

Это требует времени для изучения сценариев живой сборки и каталога, layout/structure

Посмотрите Debian Live Manuel Aye, это длинно, просто работайте через него одна ISO за один раз.

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

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

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

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

Мои пользовательские 12,04 сборок, это поддерживает gma500, 2-й только (не 3-й) из поля (будет делать ISO общедоступной толпе gma 500 в ближайшие дни).

gma 500

21
ответ дан 23 November 2019 в 03:17

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

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