web-dev-qa-db-ja.com

カーネルバージョンが異なるUbuntu isoのカスタマイズ、initramfsでハングする

私はubuntu Bionic Beaverに基づいてカスタマイズされたubuntu isoを構築しようとしています:

_129292a182136a35e1f89c586dbac2e2  ubuntu-18.04-desktop-AMD64.iso
_

私はこのチュートリアルに従いました:_https://help.ubuntu.com/community/LiveCDCustomization_抽出されたsquashfsにchrootし、必要ないくつかの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
_

私は新しく作成されたisoでvirtualboxを起動しようとしましたが、ubuntuの読み込みのスプラッシュ画面を見ることができますが、initramfsシェルでハングします: initramfs

1
aze

これはメッセージのコードです

_ # 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
_
  • 1番目のIFは常に真です。
  • 2番目のIF:union-fsが/ proc/filesystemsエラー通知で見つからない場合。
  • 基本的に、オーバーレイがありません
  • Casper 1.34+では bug のようです

修正

  • 編集_/shared/livecd/work/rootfs/etc/initramfs-tools/modules_
  • _overlay.ko_を追加
  • update-initramfs -u -k $(uname -r)を実行します
3
Rinzwind