Playing with EMILE

... which stands for Early Mac Image LoadEr. Written by Laurent Vivier, this allows one to boot an m68k mac without having MacOS sitting on your hard disk as a sort of advanced firmware. I first had some issues getting it to compile with a recent enough GCC; however, Laurent told me that he had fixed that in the latest CVS version, which indeed compiles on an up-to-date Debian/m68k installation.

When running it on an m68k mac, I can now indeed scan the SCSI partition table and the likes, which is quite nice. I'm currently a bit too far away from my m68k macs (they're at the office while I'm not), but I'll test the compiled stuff later this week.

I do have some issues with it, though, and because of them I'm a bit reluctant to file the ubiquitous ITP:

  • There is no support for configuration files yet. While I can obviously write shellscript wrappers that will parse some config files and run emile with the right options based on those, it's not exactly user-friendly optimal. I guess I can write some code for this, though.
  • You need to do some objdump magic on the kernel before EMILE can boot it. Bummer.
  • EMILE doesn't allow one to configure more than one kernel at this point. Meaning, you had better not made a mistake if you upgrade your kernel, or you might end up with an unbootable system. Not a very nice thing.

Despite these issues, I'm excited that there now finally is a mac68k bootloader that does not require 40M of an ugly operating system just so you can boot the box; and while some of the above issues might be hard to fix them (especially the multiple-kernel one, as by looking at the code it doesn't appear emile can accept input from the keyboard somehow), I'm confident it should not be hard to provide a fix to most, if not all, of these issues.