Building Bootloader Tutorial [Intro]
Purpose of building bootloader tutorial :
This tutorial will give basic knowledge about how bootloader loads OS and its simplest implementation. At the end of the tutorial, you should to have a bootloader working on a x86 architecture.
Most of knowledge needed to make a bootloader could be very specific for boorloader or BIOS. Therefore, you might not need to know them or you might not use the knowledge anywhere else.
why do I need to make a bootloader?
When BIOS loads bootloader, bootloader prepares a machine in various ways to load operating system on the memory. In other words, bootloader is the only way that you can work in BIOS level and change settings such as CPU modes.
What you can get by doing doing this tutorial:
Working in BIOS level means that you are going to work on low-level memory management, plan for memory map for your OS, switching from 16-bit mode to 32-bit mode, and much more of low-level stuff.
If any of these sounds interesting to you, you are going to enjoy learning about bootloader.
Furthermore, if you are interested in making your own OS, this might be the good start (for warm up).
Required background knowledge
For this building bootloader tutorial, you are going to need to have basic OS knowledge. Even though bootloader is not part of OS, since they are closely related. Therefore, it would be easier to understand if you know concepts especially about memory management part.