マルチブートUSBでgrub2ループバックを使用してslimaz 4.0 ISOを起動しようとしています。
insmod font
if loadfont /boot/grub/unicode.pf2 ; then
insmod gfxterm
# insmod efi_gop
# insmod efi_uga
insmod vbe
insmod vga
set gfxmode=auto
set gfxpayload=auto
terminal_output gfxterm
if terminal_output gfxterm; then true ; else
terminal gfxterm
fi
fi
set color_normal=white/black
set color_highlight=white/light-blue
set drive_uuid=DA64-F023
set isopath=/iso
menuentry "Slitaz 4.0" {
set isofile="$isopath/slitaz-4.0.iso"
loopback loop $isofile
linux (loop)/boot/bzImage rw root=/dev/null vga=normal autologin isofrom=$isofile noeject noprompt lang=en kmap=en
initrd (loop)/boot/rootfs4.gz (loop)/boot/rootfs3.gz (loop)/boot/rootfs2.gz (loop)/boot/rootfs1.gz
} # screen=text home=usb (need ext3 partition)
端末プロンプトに到達しましたが、ファイルの欠落により起動に失敗しました。複数のinitrdイメージがまだロードされていないためだと思います。
grub2が複数のinitrdイメージのロードをサポートしているのか、それでどの構文が使用されるのかを知っている人はいますか?
ベストアンサー1
端末のプロンプトに到達するのに十分な距離に達した場合は、必要なだけの画像を接続するのに十分です。あなたがしなければならないことは次のとおりです。
zcat <init.image | { cd / ; cpio -i \
--make-directories \
# #Create leading directories where needed
--preserve-modification-time \
# #Retain previous file modification times when
# #creating files
--sparse \
# #Write files with large blocks of zeros as sparse
# #files
--unconditional ; }
# #Replace all files unconditionally