I'm working on stuffing a bootable Linux distro into coreboot.  In QEMU I already succeded by using coreboot's built-in kernel loading mechanism, but that's without SeaBIOS.

I'd love to have it as a SeaBIOS payload so I can also boot other things, but I guess I'd have to create a custom-sized floppy image for this or figure out how to create an ELF payload out of a Linux kernel (I'm open to either, but I wasn't able to find any documentation on the ELF method).

The guy who put Win 3.1 in coreboot attempted the floppy method, but according to his article he did not find success with this method due to unknown and complex issues in the floppy-side logic of SeaBIOS.

So, I'm making the question explicit: What would it take to support custom-sized floppy images? In particular, I'm thinking of a 16MB device...

Alternatively, would it be possible to create an ELF file out of a Linux kernel+initrd / bootable image?