Re:Creating a Bare Bones Bootloader
by heywire on Wednesday April 16, 2014 @02:03PM
(#7599383)
If this type of thing interests you, check out http://wiki.osdev.org. I cannot recommend this site enough for someone who is interested in writing their own toy OS.
Re:Creating a Bare Bones Bootloader
by CocaKoala on Wednesday April 16, 2014 @11:24AM
(#7598341)
I'm really digging the systems posts that have been cropping up on HN recently; this and the toy OS post that was floating around are both really interesting.
Re:Creating a Bare Bones Bootloader
by zhemao on Wednesday April 16, 2014 @02:02PM
(#7599381)
Funny thing is that they both do basically the same thing, except one is done all in assembly and the other in C.
I would have liked this post to actually discuss the things that a bootloader is meant to do, like switching to 32-bit protected mode and loading the next block of code from the disk.
Re:Creating a Bare Bones Bootloader
by mmastrac on Wednesday April 16, 2014 @10:29AM
(#7597973)
This brings back memories of reading through Norton's programmer's guide to the PC, figuring out how all the various interrupts worked. It was always faster to write to b800:0000 than use int 10h (assuming a color display of course!).
Re:Creating a Bare Bones Bootloader
by emaste on Wednesday April 16, 2014 @11:15AM
(#7598279)
No, none of the description in this guide applies to UEFI. The UEFI firmware loads its bootloader as a PE binary from a FAT filesystem, not a binary blob from sector 0, and the CPU is already in 32- or 64-bit mode. The interface for calling firmware routines is also completely different.
I would have liked this post to actually discuss the things that a bootloader is meant to do, like switching to 32-bit protected mode and loading the next block of code from the disk.
This is a decent equivalent guide for UEFI: http://www.rodsbooks.com/efi-programming/hello.html