bootloader-stages
Installation
SKILL.md
Bootloader Stages: Firmware, Stage-1, Stage-2, Kernel
When to use
- Writing stage-1 (MBR/VBR) or stage-2 bootloader code, or the firmware entry glue that hands off to them.
- Debugging "boots to a blank screen / triple fault / #GP at reset" by reasoning about which stage the CPU is actually in.
- Implementing the x86 real → protected → long mode transition (A20, GDT, CR0/CR4/EFER, paging) or AArch64/RISC-V early boot.
- Reviewing relocation/PIC logic where the load address differs from the link address.
- Verifying handoff contracts (BIOS register state, DTB in x0, hartid in a0) with QEMU, U-Boot, or a bare-metal emulator.
When not to use
- Kernel internals after early boot — use
kernel-uaccess-safety,kernel-rcu-memory-barriers. - Driver/device bring-up once an OS is running — use the
embedded-*skills. - Pure userspace assembly with no boot semantics — use the
assembly/asm-*skills. - General AArch64/RISC-V calling-convention rules in C — use
asm-calling-conventions.