Awesome! Thanks Geoff!
If you run replica/pull (or have done so recently), you'll find a new
kernel subtree, /sys/src/9/kw, which contains a basic port of Plan 9
to the Sheevaplug, derived from the port of native Inferno. 9plug is
a diskless cpu server supporting a serial console and gigabit
ethernet. booting(8) and /sys/doc/port.* have been updated to match.
`kw' stands for Kirkwood, the Marvell system-on-a-chip that the
Sheevaplug is based upon. There are more Kirkwood systems on the way.
What's not yet in this port: access to flash memory, USB devices,
memory cards and possibly more. The documentation for Kirkwood flash
and USB is some combination of vague, obscure, incomplete,
unavailable, contradictory and tediously voluminous. If you configure
in the USB drivers, you'll find that there appears to be an
unpopulated root hub, but that may be a figment of the usb driver's
imagination. The EHCI registers do seem to be present and we probably
just need to tweak some undocumented register to make it all go.
If you only been building 386 binaries to date, you'll want to edit
/sys/src/mkfile.proto to at least include the arm architecture:
OS=58
CPUS=arm 386
and make sure all your /386/bin compiler binaries are up to date:
cd /sys/src/cmd
for(i in ?c)
if(! ~ $i cc rc) @{
cd $i
mk clean
objtype=$cputype mk install
mk clean
}
and populate your /arm tree:
cd /sys/src
objtype=arm mk install
You should then be able to build a sheeva kernel:
cd /sys/src/9/kw
mk 'CONF=plug' install # `mk install' will work too
This should create /arm/9plug; see booting(8) to get started.
Enjoy!