I agree UEFI is the way to go. Just curious, how do people debug their programs though? Older non-pc systems had really decent debuggers built in.
If you use coreboot and libpayload it's much easier because it offers you built-in GDB server you can connect to via serial port.