From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <9c855ecc7b4384e9a3ecb9ca2416ecac@plan9.bell-labs.com> Date: Tue, 17 Nov 2009 16:37:27 -0500 From: geoff@plan9.bell-labs.com To: 9fans@9fans.net MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] sheevaplug port available Topicbox-Message-UUID: 9d134a2c-ead5-11e9-9d60-3106f5b1d025 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!