GRUB2 + VESA BIOS Расширения / VBE сломаны?
Принимая во внимание, что моя предыдущая проблема с созданием правильных загрузочных образов была исправлена, большую часть дня я боролся с другой проблемой, связанной с GRUB2.
Проблема в том, что, хотя я устанавливаю бит запроса видеоинформации в заголовке мультизагрузки, GRUB2 не возвращает правильную информацию VESA BIOS Extensions (VBE).
Ядро - моя собственная работа, и стоит отметить, что оно использовалось для работы с TM более ранней версии GRUB2 (я мог заполнить экран белыми пикселями, без проблем).
Вот мой текущий 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