Multi-stage booting problems... :(
Posted: Sun Jan 24, 2010 2:58 pm
Hi guys,
I just registered here, and I was hooked by the wonderful tutorials which actually show you how to work on Windows in VS!
This was about the only thing I could find with any comprehensive information (And took me 3 days just to find this). Everything else was for Linux/Unix users and a bunch of command line junk we Windows guys don't like, heheh.
I've been programming for a couple years, but strictly applications. I'm totally new to bootloaders, asm, system programming, etc. It's a daunting task, but I've learned a great deal from the first bootloader tutorials. However, I've hit the snag I've been fearing all along. I've made a single boot.bin before and booted it on Virtual PC; you know, the whole "Hello world" thing. I've done that many times, even before I came here. What I could never get was how I can get at a second stage boot/kernel loader and then to load a kernel.
The problem is, I can't (and don't want to) use Floppy disks. I don't even have a floppy drive or anything to facilitate it. Then, I simply don't want to go the floppy route and want to use ISO and CD/DVD instead. So the whole 2-stage bootloader example with the FAT12 file system doesn't work. It sends the processor straight into Triple Fault.
I've stayed up all night reading and trying to get a solution; I've searched the forums and the internet endlessly, and can't find an answer. I hate to bother you folks, but I need help.
When I create an ISO image, I can easily put the 512b boot.bin in the bootsector and have it load when I capture the ISO on Virtual PC. What in the world I do with stage two or will have to do with the kernel, I have no clue. I can drop it into the ISO file system, like I'm making a regular ISO to burn a CD or something, but I don't know how to load it or even find it. So, I essentially have this:
512b BootSector: Boot.bin
ISO File List: <I can put other things here/root dir>
I have no way to see how memory is mapped in an ISO file. I also can't find any decent information online about it. I'm sure someone here must know how this works. I'm assuming that using an ISO on Virtual PC is akin to using a real computer and a CD/DVD. So it would have to work similar I guess. I just don't know HOW it works, and all attempts to research it turn out fruitless. I hope this makes sense, and I really hope someone can point me in the right direction.
I've been awake over 26hrs now and can't sleep! Lol, I'm serious. Computers never get out of my head!
I just registered here, and I was hooked by the wonderful tutorials which actually show you how to work on Windows in VS!

I've been programming for a couple years, but strictly applications. I'm totally new to bootloaders, asm, system programming, etc. It's a daunting task, but I've learned a great deal from the first bootloader tutorials. However, I've hit the snag I've been fearing all along. I've made a single boot.bin before and booted it on Virtual PC; you know, the whole "Hello world" thing. I've done that many times, even before I came here. What I could never get was how I can get at a second stage boot/kernel loader and then to load a kernel.
The problem is, I can't (and don't want to) use Floppy disks. I don't even have a floppy drive or anything to facilitate it. Then, I simply don't want to go the floppy route and want to use ISO and CD/DVD instead. So the whole 2-stage bootloader example with the FAT12 file system doesn't work. It sends the processor straight into Triple Fault.

When I create an ISO image, I can easily put the 512b boot.bin in the bootsector and have it load when I capture the ISO on Virtual PC. What in the world I do with stage two or will have to do with the kernel, I have no clue. I can drop it into the ISO file system, like I'm making a regular ISO to burn a CD or something, but I don't know how to load it or even find it. So, I essentially have this:
512b BootSector: Boot.bin
ISO File List: <I can put other things here/root dir>
I have no way to see how memory is mapped in an ISO file. I also can't find any decent information online about it. I'm sure someone here must know how this works. I'm assuming that using an ISO on Virtual PC is akin to using a real computer and a CD/DVD. So it would have to work similar I guess. I just don't know HOW it works, and all attempts to research it turn out fruitless. I hope this makes sense, and I really hope someone can point me in the right direction.
