Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Brendan wrote:Most of the limits I listed come from being booted in protected mode. After looking into it further, it would be possible to write a "stage 3" which shuffles memory about and puts a "stage 4" into conventional memory (where GRUB was). Then it should be possible to switch back to real mode and use the BIOS/s, etc to setup things without the limits I mentioned. I'd end up with a 6 stage boot
Heh, yeah, I noticed in your big list of GRUB "can'ts" that the only actual "can't" on it was that GRUB can't load your kernel into conventional memory. Everything else on your list was just as possible when using GRUB as when chainloading, GRUB just wouldn't do it automatically for you, you had to do it yourself. Since that's true in either case, they're not limitations of GRUB at all.
I think you're making it way too complicated, though. Tell GRUB to load your kernel at 0x100100 or thereabouts, and make sure any real mode code is within the first 64K of your kernel image. Remember, real mode can actually use memory up to 0x10FFF0.
Solar (lazy) wrote:
* perhaps a more elaborate tutorial on how to come back from GRUB to virtual real mode?
I'm hoping you mean real mode here (a virtual 8086 task & monitor would be too complex).
I've been playing with GRUB for the last 4 hours (including 2 hours spent updating cygwin in the errant hope of removing ./configure's objcopy error, half an hour wondering why the mouse on my linux box was randomly clicking everything just because I swapped a scroll wheel mouse for a 2 button mouse, and another 10 minutes trying to figure out why the mouse protocol line in XF86Config doesn't effect anything).
Anyway, I've decided that having yet another method of booting my OS wouldn't hurt (and shouldn't take me too long). I'll hopefully have some (public domain/free) source ready for download in the next few days. If anyone wants to turn it into a proper tutorial...
I've also been wondering if there's a utility anywhere to boot a multi-boot compliant (GRUB compatible) OS from DOS?
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.