I was excited to discover this project; it looks like good work. I did have a few comments / questions:
On the list of benefits on the front page it says: "Avoids the need for a slow, buggy, proprietary BIOS." I would add to this that it gives the end user freedom from invisible functionality black holes. For example, my laptop BIOS will on only initiate suspend-to-disk on timeout; there is no way for me to invoke it on demand (and there is no way for me to update the existing BIOS to add the needed functionality unless I can reverse engineer the BIOS at great risk to my system). With LinuxBIOS presumably I would have some recourse.
I am surprised that the list of payloads is not comprehensive; ie. apparently Linux BIOS doesn't provide a straight boot from MBR. This confused me. If this is not a goal, I would suggest making it a goal. This reflects my own philosophy that end-user interests are best served by compatibility.
I would also suggest a feature list on the webpage, so that passers-by like me can see at a glance if you intend to support things like suspend-to-disk (since the trend is to move s4 functionality to the OS).
Best regards, Chris
_________________________________________________________________ Dave vs. Carl: The Insignificant Championship Series. Who will win? http://clk.atdmt.com/MSN/go/msnnkwsp0070000001msn/direct/01/?href=http://dav...
* Chris Cannon burryme@hotmail.com [070102 04:35]:
I am surprised that the list of payloads is not comprehensive; ie. apparently Linux BIOS doesn't provide a straight boot from MBR. This confused me. If this is not a goal, I would suggest making it a goal. This reflects my own philosophy that end-user interests are best served by compatibility.
It is somewhat possible with ADLO, but at this time, there is a lot of fiddling involved to get it working.
Stefan
On 1/8/07, Stefan Reinauer stepan@coresystems.de wrote:
- Chris Cannon burryme@hotmail.com [070102 04:35]:
I am surprised that the list of payloads is not comprehensive; ie. apparently Linux BIOS doesn't provide a straight boot from MBR. This confused me. If this is not a goal, I would suggest making it a goal. This reflects my own philosophy that end-user interests are best served by compatibility.
It is somewhat possible with ADLO, but at this time, there is a lot of fiddling involved to get it working.
if you're really determined to support this, I think the best way to do it is to build on our emulator. I.e. load the MBR and support its calls via emulation, not direct execution a la ADLO. We've found the emulator to be very solid, and in fact, somebody is working on plugging it in to plan 9 to improve their VESA support. So you would load the MBR, run it under emulation, and take it from there.
The best way, in my view, is to boot linux in flash and have linux kexec the actual OS you want to boot. But this is tricky. The advantage is that you can debug such a system completely under Linux, without linuxbios being involved, until you get it figured out.
But is it possible to boot Vista under Linux via kexec? That would be interesting.
ron
* ron minnich rminnich@gmail.com [070108 15:50]:
if you're really determined to support this, I think the best way to do it is to build on our emulator. I.e. load the MBR and support its calls via emulation, not direct execution a la ADLO.
And how do you do the transition to native x86 execution? Your scenario would mean to emulate execution of the Windows bootloader, so that it can use bios callbacks. But I have no idea how to find out we're out of the bootloader and in Windows itself. ie. no bios callbacks will follow.
We've found the emulator to be very solid, and in fact, somebody is working on plugging it in to plan 9 to improve their VESA support. So you would load the MBR, run it under emulation, and take it from there.
Nothing against the success of the emulator. It is great work, and it helped LinuxBIOS (and I suppose other projects) a lot. But emulating an x86 machine on an x86 seems to have a whiff of a broken design. Not to forget, that it is kind of slow, thus becoming our bottle neck in boot times (which we still call our main advantage over legacy bios)
The best way, in my view, is to boot linux in flash and have linux kexec the actual OS you want to boot.
This is not exactly going to make things faster, in the Windows/MBR case.
But is it possible to boot Vista under Linux via kexec? That would be interesting.
Kexec is Linux specific. It can't do the job for any Windows or BSD, but will just load a Linux kernel.
On 1/8/07, Stefan Reinauer stepan@coresystems.de wrote:
And how do you do the transition to native x86 execution? Your scenario would mean to emulate execution of the Windows bootloader, so that it can use bios callbacks. But I have no idea how to find out we're out of the bootloader and in Windows itself. ie. no bios callbacks will follow.
yes, you would need to know what the loader does to start windows, but I don't think this is impossible.
Nothing against the success of the emulator. It is great work, and it helped LinuxBIOS (and I suppose other projects) a lot. But emulating an x86 machine on an x86 seems to have a whiff of a broken design.
I don't really agree. We used to run x86 binaries directly from expansion roms. There were far more problems than we have had with the emulator. The broken design, really, is the PC. But we can't change that. The emulation approach has proven to be the most reliable -- so reliable, in fact, that someone is looking to replace direct execution in Plan 9 with our emulator.
The best way, in my view, is to boot linux in flash and have linux kexec the actual OS you want to boot.
This is not exactly going to make things faster, in the Windows/MBR case.
I will only agree to that when I measure it being slower. We have seen, here, that Linux, loaded from FLASH and operating as the boot loader, on reasonably modern machines (e.g. 2+ Ghz opteron),is the fastest way to boot, without exception.
But is it possible to boot Vista under Linux via kexec? That would be interesting.
Kexec is Linux specific. It can't do the job for any Windows or BSD, but will just load a Linux kernel.
no, kexec will load an arbitrary elf image. I can kexec a plan 9 image. kexec is very powerful.
ron