ELF OpenFirmware Loader Problem

Jon Masters jonmasters at gmail.com
Thu Dec 2 19:09:27 MST 2004


On Mon, 11 Oct 2004 17:40:45 +0100, Jon Masters <jonmasters at gmail.com> wrote:

> I have installed the latest MOL release via the Debian binaries and am
> able to boot Mac OS 9 correctly on my Powerbook. I have installed the
> Linux and OSX driver packages also.

> When I attempt to boot a Linux kernel, MOL successfully loads yaboot
> and seemingly also the yaboot.conf file from the pseudofilesystem in
> the OF device tree, but it is unable to load any vmlinux image that I
> specify (a correct verifiable ELF) and returns that this is not an ELF
> file. I expect this is simply a message occuring as a result of
> another fault (typically it seems this happens when you don't have the
> drivers correctly installed) but I'm not entirely sure where to look
> for any further advice, having lost a weekend afternoon trying to fix
> it.

The problem here is a dud oftree.linux, as someone recently noted -
thanks to that poster and a desire to get this working again, I've now
switched tree. Note the following though:

*). To boot Linux requires the oftree.linux-old oftree. What's the new
one shipped for?
    (seems you guys are messing with device names and tree layout for something)

*). MOL is especially unhappy with symlinks on the pseudo filesystem -
and it's not easily figured out it's happening (for the benefit of
google: MacOnLinux pseudo-disk symlink yaboot problem issue). I'll
look in to fixing that.

*). Would one of the Debian developers please ship mol with debugging enabled?

At this point I can boot older kernels, 2.6.8.1 is failing now, but
that's not surprising since I copied the one I'm using on the real
hardware for testing. All I actually want is to be able to get passed
the stuff in the head.S calls to early_init and setup of the OF device
trees[0].

I'm wanting to bodge in the ability to pass Linux kernels a blob
containing a fake oftree for embedded boxes (saves pointless building
nonesense) and had decided to use mol, but got very annoyed with the
state of docs and ability for it to boot linux[1], so went off the
idea. Anyway, it boots now and I'm going to write this up when I get
around to it.

Jon.

[0] I travel by train quite a bit and take my laptop, but no
development boards I could use during the train journey (they have
mains sockets...I suppose I /could/. Therefore things like mol can
make those several hours each day more productive - time I had
allocated to getting this done but without mol was unable to do much
testing of stuff without rebooting the laptop every few minutes (and I
don't want to do that on a train).

[1] This is *not* a dig at the developers, mol is pretty cool. I just
wanted to be able to use it to boot a Linux instance and found it
inordinately difficult due to apparent code bitrot :-)


More information about the mol-general mailing list