First page Back Continue Last page Overview Graphics
OK, How Do We Boot a Real Kernel from LinuxBIOS? LOBOS
LOBOS (Linux OS Boots OS) ג a system call that allows Linux to boot another OS without leaving the 32-bit protected mode or using the BIOS
Overlaying the kernel (in kernel mode)
- read a file into memory not occupied by the running kernel
- move critical structures (page tables, boot arguments, root partition location, log buffer, etc) into a safe place
- turn off interrupts (point of no return ג check all errors)
- switch memory to the new page tables
- copy the final bootstrap code (that copies the kernel to 0x100000 and jumps to it) to a safe place where it will not be overwritten by the new kernel
- jump to the final bootstrap code that will do its thing