On 04/16/2014 04:21 PM, Kevin O'Connor wrote:
On Wed, Apr 16, 2014 at 04:00:07PM -0700, H. Peter Anvin wrote:
On 04/16/2014 03:47 PM, Kevin O'Connor wrote:
On Wed, Apr 16, 2014 at 06:56:57PM +0200, Gerd Hoffmann wrote:
Emulating attributes would be great so you can actually navigate bootloader menus.
I took a look a closer look at this. Some things I found:
- it looks like the syslinux menu on recent Fedora versions doesn't work correctly at all in text mode. This can be most easily seen by disabling CONFIG_VGA_VBE on one of the standard qemu seavgabios builds - without vbe syslinux wont go into graphics mode and the same broken text menu is shown. So, this isn't a seavgabios issue but a fedora and/or syslinux issue.
?! I would love more details...
If I build SeaVGABIOS without vesa and run the Fedora 16 (or later) installer in qemu I get a menu that is not centered and the bottom line of the menu box isn't drawn. Also, when I hit up arrow or down arrow I can't see which menu item is highlighted. I'm really not sure if this is syslinux related though. (This wasn't an issue in Fedora 15 or earlier - though they always show up as black-and-white.) See the attached screenshot as an example.
I wonder if they simply specify a geometry that is too large for the text mode screen. I'll have to take a look at their config file.
Steps to reproduce - grab latest seabios from git://git.seabios.org/seabios.git , run "make menuconfig" and select CONFIG_VGA_CIRRUS=y and CONFIG_VGA_VBE=n. Then run "make", then "mkdir qemutest; cp out/bios.bin qemutest/; cp out/vgabios.bin qemutest/vgabios-cirrus.bin". Then run qemu with: qemu-system-i386 -L qemutest/ -m 512 -cdrom Fedora-19-x86_64-DVD.iso
- I took a quick look at what happens with the ati vgabios on my e350m1 if it is forced into a graphics mode (eg, mode 0x12). I see similar results to what I see with coreboot native seavgabios. So, it looks like most of our troubles are with the standard vgabios interface in graphics vs text mode and not something specific to seavgabios.
That section of my email was not related to syslinux. As background, we're looking into ways to run standard boot loaders with only a graphical framebuffer by emulating text mode on top of a graphical framebuffer. The section above was discussing how the vgabios interprets certain calls differently depending on whether it is text or graphics mode.
That it does, indeed.
For the record, Syslinux in text mode will use only BIOS calls (no direct write to the screen) to allow things like serial port capture and text-to-graphics conversion to work.
Let me know if I can be of assistance.
-hpa