J'essaie de construire un iso personnalisé basé sur Ubuntu Bionic Beaver:
129292a182136a35e1f89c586dbac2e2 ubuntu-18.04-desktop-AMD64.iso
J'ai suivi ce tutoriel: https://help.ubuntu.com/community/LiveCDCustomization
J'ai chrooté dans les squashfs extraits et installé les paquets Debian que je voulais, téléchargé un nouveau noyau depuis http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.3/
, puis lancé la commande mkinitramfs -o /initrd.gz 4.15.3-041503-generic
.
Ensuite, j'ai utilisé les commandes suivantes pour reconstruire l'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
J'ai essayé de démarrer virtualbox sur l'iso nouvellement créé, cela semble fonctionner puisque je peux voir l'écran de démarrage du chargement d'Ubuntu, mais il se bloque sur le shell 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
Fix :
/shared/livecd/work/rootfs/etc/initramfs-tools/modules
overlay.ko
update-initramfs -u -k $(uname -r)