Данные инструкции нужно выполнять после установки Ubuntu 18.04 на чистый диск с помощью утилиты debootstrap .
Смонтируйте устройства:
_x000D_sudo cp /etc/resolv.conf /media/ubuntu/root/disk/etc/resolv.conf_x000D_sudo mount -t proc proc /media/ubuntu/root/disk/proc/_x000D_sudo mount -t sysfs sys /media/ubuntu/root/disk/sys/_x000D_sudo mount -o bind /dev /media/ubuntu/root/disk/dev/_x000D_sudo mount -t devpts none /media/ubuntu/root/disk/dev/ptsУстановите программы необходимые для создания ISO образа:
_x000D_sudo apt-get install syslinux squashfs-tools genisoimage casper laptop-detect lupin-casper discover Перейдите в папку ubuntu:
_x000D_cd /media/ubuntuУстановите необходимые пакеты:
_x000D_sudo apt install isolinux memtest86+ _x000D_sudo mkdir -p ./image/{casper,isolinux,install}Скопируйте файлы ядра с диска sdb1:
_x000D_sudo cp /media/ubuntu/root/boot/vmlinuz-4.4.0-104-generic ./image/casper/vmlinuz_x000D_sudo cp /media/ubuntu/root/boot/initrd.img-4.4.0-104-generic ./image/casper/initrd.lz_x000D_sudo cp /usr/lib/ISOLINUX/isolinux.bin ./image/isolinux/_x000D_sudo cp -rT /usr/lib/syslinux/modules/bios/ ./image/isolinux/_x000D_sudo cp /boot/memtest86+.bin ./image/install/memtest_x000D_Создайте конфигурацию загрузки Isolinux коммандой sudo nano ./image/isolinux/isolinux.cfg
_x000D_ui menu.c32_x000D_TIMEOUT 300_x000D_PROMPT 0_x000D_DEFAULT live_x000D_menu title Boot Menu_x000D_LABEL live_x000D_ menu label ^Start or install Ubuntu Openbox_x000D_ kernel /casper/vmlinuz_x000D_ append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --_x000D_LABEL check_x000D_ menu label ^Check CD for defects_x000D_ kernel /casper/vmlinuz_x000D_ append boot=casper integrity-check initrd=/casper/initrd.lz quiet splash --_x000D_LABEL memtest_x000D_ menu label ^Memory test_x000D_ kernel /install/memtest_x000D_ append -_x000D_LABEL hd_x000D_ menu label ^Boot from first hard disk_x000D_ localboot 0x80_x000D_ append -Создайте файловую систему filesystem.squashfs с содержимым диска:
_x000D_sudo chroot ./root dpkg-query -W --showformat='${Package} ${Version}n' | sudo tee ./image/casper/filesystem.manifest_x000D_sudo mksquashfs ./root ./image/casper/filesystem.squashfs -e boot_x000D_sudo printf $(sudo du -sx --block-size=1 ./root | cut -f1) |sudo tee ./image/casper/filesystem.sizeСоздайте файл diskdefines коммандой sudo nano ./image/README.diskdefines и вставьте содержимое:
_x000D_#define DISKNAME Ubuntu Openbox_x000D_#define TYPE binary_x000D_#define TYPEbinary 1_x000D_#define ARCH amd64_x000D_#define ARCHamd64 1_x000D_#define DISKNUM 1_x000D_#define DISKNUM1 1_x000D_#define TOTALNUM 0_x000D_#define TOTALNUM0 1Создайте файл isolinux.txt коммандой sudo nano ./image/isolinux/isolinux.txt со следующим содержимым:
_x000D_************************************************************************_x000D__x000D_This is an Ubuntu Openbox Live CD._x000D__x000D_For the default live system, enter "live". To run memtest86+, enter "memtest"_x000D__x000D_************************************************************************Выполните комманду:
_x000D_sudo printf "x18" |sudo tee ./image/isolinux/emptyfileСоздайте еще файлы:
_x000D_sudo touch ./image/ubuntu_x000D_sudo mkdir ./image/.disk_x000D_cd ./image/.disk_x000D__x000D_sudo touch base_installable_x000D_sudo echo "full_cd/single" | sudo tee cd_type_x000D_sudo echo "Ubuntu Openbox 16.04" | sudo tee info _x000D_sudo echo "http://your-release-notes-url.com" | sudo tee release_notes_url_x000D_cd ../..Посчитайте md5 файлов, которые будут на диске:
_x000D_sudo su -c "cd image && find . -type f -print0 | xargs -0 md5sum | grep -v "./md5sum.txt" > md5sum.txt"Создайте образ ISO:
_x000D_cd ./image_x000D_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 ._x000D_cd ..Образ ISO готов и лежит в папке /media/ubuntu .