2

適切なブート イメージのビルドに関する以前の問題は修正されましたが、ほぼ 1 日中、別の GRUB2 関連の問題と格闘していました。

問題は、マルチブート ヘッダーにビデオ情報要求ビットを設定しても、GRUB2 が適切な VESA BIOS 拡張 (VBE) 情報を返さないことです。

カーネルは私自身の作品であり、以前のバージョンの GRUB2 で動作 (TM) していたことは注目に値します (画面を白いピクセルで埋めることができましたが、問題ありませんでした)。

これが私の現在のgrub.cfgです:

set timeout=10
set default=0

menuentry "zero" {
    set gfxmode=1024x768x24
    set gfxpayload=keep
    insmod vbe
    insmod gfxterm
    multiboot /kern
}

ブート イメージの作成に使用するスクリプトは次のとおりです。

echo Building kernel
./build.sh
echo Creating bootable CD image...
cp zero cdimg2/kern
grub-mkimage --format=i386-pc --output=core.img \
    --config="cdimg2/boot/grub/grub.cfg" loadenv biosdisk \
    part_msdos part_gpt fat ntfs \
    ext2 ntfscomp iso9660 loopback search linux boot \
    minicmd cat cpuid chain \
    halt help ls reboot echo test configfile normal sleep \
    memdisk tar font \
    gfxterm gettext true vbe vga video_bochs video_cirrus \
    multiboot multiboot2
cat /usr/lib/grub/i386-pc/cdboot.img core.img > \
    cdimg2/grub.img
genisoimage -A "ZERO" -input-charset "iso8859-1" -R -b \
    grub.img -no-emul-boot \
    -boot-load-size 4 -boot-info-table -o cd.iso cdimg2
4

0 に答える 0