Yes you can do that with ELF.
The big gotcha is going to be that there are pirq tables current stored at 0xf0000 that you are not going to want to stomp.
Actually thats not that much of an issue. It currently stomps it already
ADLO has that table broken out into a single binary file. All I do is copy the table binary table generated with linubios into the adlo build file and it gets stuck in the adlo image. Loader.s copies it to a specific location. So really if you loaded loader and ADLO code after the linuxbios PIRQ table location and then tweaked loader to not make a PIRQ it should be fine.
Not haveing to do the PIRQ table copy would be nice but its pretty trival. A script to do it automatically would be easy.
The fact that ADLO has to manually customized per board is what keeps it from being a lot more generally usable.
something I have been wondering. Suppose someone starts working on that IDE driver to fix it for once in bochs bios. Won't we find out that getting it work right is chip-set specific thing?
curently bochs bios is based on intel 440fx chipset or some such.