Я пытаюсь создать специализированную человечность ISO на основе ubuntu Bionic Beaver:
129292a182136a35e1f89c586dbac2e2 ubuntu-18.04-desktop-amd64.iso
Я следовал этому учебному руководству: https://help.ubuntu.com/community/LiveCDCustomization
Я chrooted в извлеченный squashfs и установленный некоторые debian пакеты, которые я хотел, загрузил новое ядро с http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.3/
, запущенное mkinitramfs -o /initrd.gz 4.15.3-041503-generic
команда.
Затем я использовал следующие команды для восстановления ISO:
sudo rm -f iso/casper/vmlinuz iso/casper/initrd.lz
sudo cp squashfs/boot/vmlinuz-4.15.3-041503-generic iso/casper/vmlinuz
sudo cp squashfs/initrd.gz iso/casper/initrd.lz
sudo chmod a+w iso/casper/filesystem.manifest
sudo chroot squashfs dpkg-query -W --showformat='${Package} ${Version}\n' > iso/casper/filesystem.manifest
sudo chmod go-w iso/casper/filesystem.manifest
sudo rm iso/casper/filesystem.squashfs
cd squashfs
sudo mksquashfs . ../iso/casper/filesystem.squashfs -info
cd ..
cd iso
sudo bash -c "find . -path ./isolinux -prune -o -type f -not -name md5sum.txt -print0 | xargs -0 md5sum | tee md5sum.txt"
cd ..
sudo mkisofs -r -V "my_custom_iso" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o custom-livecd.iso iso
sudo isohybrid custom-livecd.iso
Я пытался загрузить virtualbox на недавно созданной ISO, это, кажется, работает, так как я вижу экран-заставку загрузки человечности, но затем это зависает на оболочке initramfs:
# Confirm the final format was valid.
if [ "${UNIONFS}" != "unionfs-fuse" ]; then
modprobe "${MP_QUIET}" -b "${UNIONFS}" || true
if cut -f2 /proc/filesystems | grep -q "^${UNIONFS}\$"; then
:
else
panic "/cow format specified as ${UNIONFS} and no support found"
fi
fi
/shared/livecd/work/rootfs/etc/initramfs-tools/modules
overlay.ko
update-initramfs -u -k $(uname -r)