Создание LiveCD ISO диска Ubuntu 18.04
Данные инструкции нужно выполнять после установки Ubuntu 18.04 на чистый диск с помощью утилиты debootstrap.
Смонтируйте устройства:
sudo cp /etc/resolv.conf /media/ubuntu/root/disk/etc/resolv.conf
sudo mount -t proc proc /media/ubuntu/root/disk/proc/
sudo mount -t sysfs sys /media/ubuntu/root/disk/sys/
sudo mount -o bind /dev /media/ubuntu/root/disk/dev/
sudo mount -t devpts none /media/ubuntu/root/disk/dev/pts
Установите программы необходимые для создания ISO образа:
sudo apt-get install syslinux squashfs-tools genisoimage casper laptop-detect lupin-casper discover
Перейдите в папку ubuntu:
cd /media/ubuntu
Установите необходимые пакеты:
sudo apt install isolinux memtest86+
sudo mkdir -p ./image/{casper,isolinux,install}
Скопируйте файлы ядра с диска sdb1:
sudo cp /media/ubuntu/root/boot/vmlinuz-4.4.0-104-generic ./image/casper/vmlinuz
sudo cp /media/ubuntu/root/boot/initrd.img-4.4.0-104-generic ./image/casper/initrd.lz
sudo cp /usr/lib/ISOLINUX/isolinux.bin ./image/isolinux/
sudo cp -rT /usr/lib/syslinux/modules/bios/ ./image/isolinux/
sudo cp /boot/memtest86+.bin ./image/install/memtest
Создайте конфигурацию загрузки Isolinux коммандой sudo nano ./image/isolinux/isolinux.cfg
ui menu.c32
TIMEOUT 300
PROMPT 0
DEFAULT live
menu title Boot Menu
LABEL live
menu label ^Start or install Ubuntu Openbox
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
LABEL check
menu label ^Check CD for defects
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.lz quiet splash --
LABEL memtest
menu label ^Memory test
kernel /install/memtest
append -
LABEL hd
menu label ^Boot from first hard disk
localboot 0x80
append -
Создайте файловую систему filesystem.squashfs с содержимым диска:
sudo chroot ./root dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ./image/casper/filesystem.manifest
sudo mksquashfs ./root ./image/casper/filesystem.squashfs -e boot
sudo printf $(sudo du -sx --block-size=1 ./root | cut -f1) |sudo tee ./image/casper/filesystem.size
Создайте файл diskdefines коммандой sudo nano ./image/README.diskdefines и вставьте содержимое:
#define DISKNAME Ubuntu Openbox
#define TYPE binary
#define TYPEbinary 1
#define ARCH amd64
#define ARCHamd64 1
#define DISKNUM 1
#define DISKNUM1 1
#define TOTALNUM 0
#define TOTALNUM0 1
Создайте файл isolinux.txt коммандой sudo nano ./image/isolinux/isolinux.txt со следующим содержимым:
************************************************************************
This is an Ubuntu Openbox Live CD.
For the default live system, enter "live". To run memtest86+, enter "memtest"
************************************************************************
Выполните комманду:
sudo printf "\x18" |sudo tee ./image/isolinux/emptyfile
Создайте еще файлы:
sudo touch ./image/ubuntu
sudo mkdir ./image/.disk
cd ./image/.disk
sudo touch base_installable
sudo echo "full_cd/single" | sudo tee cd_type
sudo echo "Ubuntu Openbox 16.04" | sudo tee info
sudo echo "http://your-release-notes-url.com" | sudo tee release_notes_url
cd ../..
Посчитайте md5 файлов, которые будут на диске:
sudo su -c "cd image && find . -type f -print0 | xargs -0 md5sum | grep -v "\./md5sum.txt" > md5sum.txt"
Создайте образ ISO:
cd ./image
sudo mkisofs -r -V "Ubuntu Openbox" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-openbox-`date +%Y-%m-%d`.iso .
cd ..
Образ ISO готов и лежит в папке /media/ubuntu.
Источник: https://help.ubuntu.com/community/LiveCDCustomizationFromScratch