book
book copied to clipboard
Q: what do I need to keep in mind when writing boot loaders?
People may be used to issues in the domain of boot loaders to be resolved purely because what they are used to has to specifically deal with those issues anyway, by design. Some issues may (re)occur with kexec with things here and there, such as
- alignment
- relocation
- hardware state
The Linux kernel is mainly designed for serving an OS, rather than a boot environment. We need to keep testing kexec under various conditions to ensure that regressions can be spotted and mitigated.
See for example the history of kexec et al in RISC-V, such as:
- https://lkml.iu.edu/hypermail/linux/kernel/2504.1/03809.html
- https://patchwork.kernel.org/project/linux-riscv/patch/[email protected]/
- https://lore.kernel.org/all/CAEEQ3wmb37Y6gOn0cC53DMJgQopcD4pf38c83AexFv+Pj7Er3w@mail.gmail.com/