grml GNU/Linux, our recently-partner project from Austria (not Australia), will gain ISO images bootable by dd(1)ing to a USB stick (or CF/SD card, hard disc, ...) via the MirOS manifold-boot technology, in use since 10/2007 and developed for the self-installing boot blocks. With only a couple of ifdefs, the MirOS BSD/i386 bootxx.sh was made into a bootgrub.sh which runs fine on GNU/Linux (with mksh, of course!) and produces a first stage boot sector capable of loading a GNU GRUB2 core.img image the same as boot(8/i386) has been able to for a while. (GNU GRUB-legacy stage2 images cannot be loaded that way because bootxx is limited to 65280 bytes of second stage loader – mostly because the bootloader itself is, too, and this enabled me to squeeze out a few more bytes there.)
To say it with Mika Prokop himself:
23:22⎜«mikap:#grml» mirabilos: und dein bootloader ist geil :) 23:29⎜«mikap:#grml» und ich finds saugeil dass ich ein bsd zum booten mit ⎜ grml hab, das muss ich dann gleich mal auf usb-stick installieren <mika:#grml> mirabilos: because: per default i still want to use isolinux (unless grub2 is working better, and: i'm missing the f2, f3,... splashes from isolunux) <mirabilos:#grml> yep, nimm isolinux <mirabilos:#grml> mkisofs -b hat damit gar nix zu tun <mirabilos:#grml> das ISO bootet grub, wenns von USB gebootet wird, isolinux, wenns von CD gebootet wird <mika:#grml> mirabilos: and the *same* ISO boots isolinux by default then but can be 'dd if=grml.iso of=/dev/sdb'-ed?! <mirabilos:#grml> yep <mirabilos:#grml> MirBSD doing that for a couple of years <mika:#grml> mirabilos: awesome, i still don't get it but this sounds awfull rocking <mirabilos:#grml> mika: ours can even be booted on i386 via both methods *and* on a sparc <mika:#grml> mirabilos: WTF? <mirabilos:#grml> yep <mirabilos:#grml> before MirGRML was added, our live CDs were already DuaLive? <mika:#grml> awesome <mirabilos:#grml> i386 boot (from cd, hdd, usb, compactflash, sd) into either live or install mode + sparc boot (voa OpenBOOT) into install mode <mika:#grml> mirabilos: pfuh *verbeuge_again* :)
Ich glaube, Mika mag meinen Bootloader ;)
For simplicity, getextent_cd9660(1) will also be added to the grml-live ISO build process, as its output is easier to parse than J�rg's isoinfo. (I definitively should add subdir support there, just haven't gotten around to do it yet...) It uses a UCB and a TNF header file and otherwise available under the MirOS Licence (of course), as are the bootblocks.