Resources
background
firmware that runs when computer turns on:
where it gets stuff off the disks it can find:
Bootloaders
This article describes the first steps in low-level programming on the example of developing of simple boot loader
MBR structure
Linux Dev
Coding an operating system in C and Assembly
Virtual Machines
Workstation for Linux
books
"Programming from the Ground Up", by Jonathan Bartlett