Kernel/Boot: Cope with a Relocation by a Bootloader in 32-bit x86 Assembly Code
A kernel should be relocatable by bootloaders as this is the only guarantee that it doesn’t interfere with addresses already in use by the firmware. This is especially true for the legacy boot flow on x86, i.e., without UEFI. Update 2024-01-29: I just published a new blog post focusing more on the background. It might be worth a read for you! TL;DR Introduction There are multiple ways to make a kernel relocatable. One Read more…