Как изменить Ubuntu LiveCD

Процесс изменения 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