Steve Gehlbach steve@nexpath.com writes:
Does linuxbios in the current version support elfboot images from ide/floppy (directly, without etherboot)? I guess if it does I don't see it.
Yes. The switch on the ``rom loader'' is the same on code, for either the elf loader or the other one.
Thanks, I guess I never tried it since I needed to fiddle with the zero page parameters.
I have found that most of the time it is enough to simply tell the kernel it has a VGA adapter. And the rest it seems to handle properly. That is what I currently do in mkelfImage.
One issue I have with elfboot images is the inability to dynamically pass parameters to the zero page (specifically the vga cursor location). I
understand
the idea of not locking the boot mechanism into the bios, but there are pros
and
cons.
As ron mentioned putting enough information in the LinuxBIOS table so the code in mkelfImage can properly position the vga cursor location is straight forward.
I don't understand. Which linuxbios table are you referring to? Is this a proposal or currently implemented?
Currently implemented.
see src/include/boot/linuxbios_tables.h
The LinuxBIOS table on x86 is located near address 0, or around 0xF0000 - 0x100000. It is a binary table of tagged data so it can be grown and expanded while still retaining backwards compatibility. It is at a fixed address so we don't need to pass it explicitly to anyone, but the data in it is position independent in case the table needs to be moved. In addition the table is composed of fixed size data types so it can be used on dual 32/64 bit platforms without surprises. This is how we currently pass memory size information.
We have mptables and irq tables setup separately mostly for historical reasons. As we rework things in 1.1. for LinuxBIOS to assign irqs I want to get those in there as well and generate the other tables from the LinuxBIOS table.
Any binary loaded under LinuxBIOS can go out look for and find the LinuxBIOS table. We tried passing parameters explicitly but the LinuxBIOS table is much more stable, for large vary amounts of data. Especially when you interpose something like etherboot in between your BIOS and your loaded kernel.
Eric