Процесс изменения LiveCD очень прост:
Во-первых, мы монтируем Ubuntu ISO в одну папку, копируем файл "filesystem.squashfs", расположенный на /casper, в другую папку. Затем, мы монтируем filesystem.squashfs в третью папку и копируем его содержимое в четвёртую папку. Далее, выполняем chroot в последней папке. Таким образом мы получим возможность устанавливать или удалять пакеты, которые нам нужны (или не нужны).
Необходимые пакеты
Сначала, нужно установить следующие пакеты: genisoimage и squashfs-tools.
sudo apt-get install genisoimage squashfs-tools
Монтирование ISO
Теперь, монтируем Ubuntu ISO в папку.
sudo mount -o loop ubuntu-desktop.iso ./image
Извлечение filesystem.squashfs
Далее, нужно найти filesystem.suquashfs, расположенный на casper, и скопировать его в другую папку.
sudo cp ./image/casper/filesystem.squashfs .
Монтирование виртуальной файловой системы
Монтируем filesystem.squashfs и копируем его содержимое в отдельную папку.
sudo mount -t squashfs -o loop filesystem.squashfs ./squashimage
sudo rsync -a --progress ./squashimage/ ./mysquash/
Изменения
Теперь можно выполнить chroot и установить или удалить пакеты.
cd mysquash
sudo chroot .
aptitude install (...)
aptitude remove (...)
- Примечание. Чтобы в chroot была доступна сеть, нужно предварительно смонтировать /proc
sudo mount -o bind /proc ./mysquash/proc
Прописать DNS-сервера в ./mysquash/etc/resolv.conf, т.к. этот файл на LiveCD пустой.
Если необходимо, дописать репозитории в ./mysquash/etc/apt/sources.list.
После завершения установки/удаления пакетов в ./mysquash все внесённые изменения удалить.
Переупаковка Squashfs
Когда необходимые изменения внесены, нужно выйти из chroot и переупаковать squash.
exit
cd ..
mksquashfs ./mysquash myfilesystem.squashfs
Этот процесс может быть долгим, имейте терпение.
Создание ISO-образа
Теперь можно создать новый iso, содержащий внесённые изменения:
sudo rsync -a --progress ./image/ ./myimage/ --exclude=filesystem.squashfs
sudo mv myfilesystem.squashfs ./myimage/casper/filesystem.squashfs
sudo mkisofs -J -R -o ubuntu-mylive.iso -no-emul-boot -boot-info-table -b isolinux/isolinux.bin ./myimage
Вот и всё. ISO можно протестировать в QEmu или в VirtualBox, а затем записать на CD/DVD диск или залить на флешку
Ссылки по теме.
https://help.ubuntu.com/community/LiveCDCustomization
http://habrahabr.ru/post/77331/
http://habrahabr.ru/post/77517/
http://shkola-linux.ru/articles/71-sozdanie-svoego-ubuntu-live-cd.html