web-dev-qa-db-fra.com

Personnalisation iso Ubuntu avec une version de noyau différente, se bloque sur initramfs

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: initramfs

1
aze

Ceci est le code du message :

 # 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
  • Le 1er IF est toujours vrai.
  • 2ème IF: si union-fs ne peut pas être trouvé dans la notification d'erreur de/proc/filesystems.
  • Fondamentalement, il vous manque une superposition
  • Semble être un bug dans Casper 1.34+

Fix :

  • edit /shared/livecd/work/rootfs/etc/initramfs-tools/modules
  • ajouter overlay.ko
  • exécuter update-initramfs -u -k $(uname -r)
3
Rinzwind