Этот ответ говорит о манифестах ISO - пример здесь. ,
Можно ли создать ISO из файла манифеста, или файл манифеста просто
dpkg --get-selections
помещен в текстовый файл?
Связанные, Сорта:
Этот ответ говорит о манифестах ISO - пример здесь. ,
Можно ли создать ISO из файла манифеста, или файл манифеста просто
dpkg --get-selections
помещен в текстовый файл?
Связанные, Сорта:
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) настойчивость. Вы можете использовать постоянство со многими живыми компакт-дисками, включая компакт-диск с Ubuntu-Desktop и пользовательский компакт-диск, это реализовано Casper.
A. root - casper будет монтировать раздел или файл, помеченный casper-rw
как наложение коровы, на /. Если вы затем установите пакет или измените файл конфигурации, изменения сохранятся после перезагрузки.
Используйте это экономно. Если вы обновите все пакеты, это займет много места. Я также считаю, что этот метод иногда глючит.
Б. Домой - подоконник Каспера смонтировать раздел или файл, помеченный home-rw
как aas как наложение коровы на / home.
Я предпочитаю это, так как мои закладки 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
в / (в корневой каталог раздела) или на флэш-диск (не в подкаталог).
Когда вы загружаете live CD, нажмите F6клавишу, они Esc, добавив опцию persistent
к параметрам загрузки, перед «-»
quiet splash persistent --
Сценарии загрузки Каспера найдут его автоматически.
См. Постоянство вики Ubuntu. На вики-странице Ubuntu обсуждался только casper-rw, но на home-rw есть ссылки в скриптах casper, и он работает так же, только имя было изменено.
Смотрите этот пост на форумах Ubuntu, чтобы увидеть скриншот (хотя и с разными вариантами).
C. Вы можете включить сохранение с помощью нескольких графических инструментов, например, unetbootin. Графические инструменты (насколько я знаю) используют casper-rw
.
Хорошо, теперь, когда вы все это поймете, эти две страницы станут более понятными
Вам нужно будет гуглить. Вы найдете фрагменты рекомендаций по всему Интернету.
Пример: как изменить заставку Live CD
Теперь, когда вы все это понимаете, используйте сценарии 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).