Search code examples
cassemblylinux-kernelbiosreal-mode

Loading the Linux OS Kernel from BIOS


From book: After power-on, the CPU load the BIOS, build the interrupt vector table, and start interrupt service routines in real address mode. By BIOS, the CPU receives INT 0x19. The ISR of INT 0x19 loads the first sector (512B) into the memory. This sector is the boot part of Linux which loads other parts of the OS into the memory.

The first sector is bootsect.s, which is written in assembly. It is the first system code that is loaded into the memory. I doubt whether assembly instructions are loaded or compiled machine instructions are loaded into memory. Does BIOS have a native assembler to convert assembly to machine instructions?


Solution

  • Of course, the loaded sector contains compiled machine language instructions - not assembly source (.asm).