| Does anyone know how to circumvent UEFI? When the CPU starts, it will start reading instructions from a hard-coded address on the memory bus / EPROM somewhere, right? How can I directly control these bytes? I don't want some proprietary firmware sit between me and the CPU. If it's not possible on hardware because "secure boot", or whatever, this should at least be possible in emulators like QEMU. Does anyone know how to do that? ... or clear up my misconceptions? :) |
A physical machine will still, despite everything, start executing at FFFF:0000 in "real mode", and the code run there will be found in a physical EEPROM. Some of these are socketed (although this is less common these days). So you can get in there and fiddle with the pre-boot code.
See https://www.drdobbs.com/parallel/booting-an-intel-architectu...
There is no way round the Management Engine, a source of distress to some. Oh, and you won't have any DRAM until you've run the DRAM training and turned that on, the early BIOS gets to use the cache as a scratchpad instead. See https://blog.asset-intertech.com/test_data_out/2014/11/memor...
If you like bare metal work with decent processing power ARM is probably the place to start.