Install required tools: `qemu-system-x86`, `nasm`, `ld`, `gcc`, `make`
Create a project directory
Write a 512-byte boot sector in assembly
Set the boot signature bytes `0x55` and `0xAA` at the end of the sector
Assemble the boot sector to a flat binary
Create a disk image file
Write the boot sector binary to the first 512 bytes of the disk image
Run QEMU with the disk image as the boot device
Use `qemu-system-x86_64 -drive format=raw,file=disk.img`
Use `qemu-system-i386 -drive format=raw,file=disk.img` for 32-bit testing
Add `-boot order=a` if needed
Add `-serial stdio` for serial output
Add `-d int` or `-no-reboot` for debugging
Use GDB with `-s -S` for step-by-step debugging
Keep the boot sector within 512 bytes
Load additional sectors from disk if more code is needed
Switch to protected mode only after setting up the CPU state correctly
Verify the BIOS loads the boot sector from the first sector of the disk
Test changes by rebuilding the binary and rerunning QEMU
