Initial Install

I downloaded the CD and installed from there. I could never get download via Internet working

When starting over a second time, I had to delete explicitely the Plan9 partitions, else partitioning and formatting would fail.

Of course I installed with venti+fossil fileservers from the start.

For playing around with networks, I installed a second Plan9 under QEMU. Be sure to give it a sufficiently big (virtual) harddisk, else installation will fail. I used 3.4GByte.

Finally I installed drawterm on my Linux, so I can test with a "dumb" terminal relying on auth, cpu and fileserver.

Network Setup

Since I have my own DNS-Server I was able to name all machines via external DNS. My /lib/ndb/local looks like this then:


ipnet=magma.local ip= ipmask=

ip= sys=localhost dom=localhost

My DNS Server and SMTP Smarthost is the router at IP, it also is a NTP Server for my local network.

Ahhh! for editing I use Acme, though in a very dump way. With Sam I would have to learn lots of One letter commands.

CPU/Auth/File Server

To run as a cpu and file server one has to use the 9pccpuf (meaning: Plan9, PC, cpu, file) kernel.

For some reason the kernel lying around on the disk was corrupt, so I had to recompile it:

cd /sys/src/9/pc
mk 'CONF=pccpuf'
... lots of output, need to scroll down until it finishes
... Then install it on the boot disk
cp 9pccpuf /n/9fat
... finally modify the plan9.ini file
cd /n/9fat
acme plan9.ini

Just add as many kernels with lines like:


/!\ Caveat: the pccpuf kernel does not have the kbmap device, neither do the papers tell how to get it installed on boot, see the section on compiling a personalized kernel for this.

Also, follow the papers to get a working /rc/bin/cpurc

/!\ Caveat: You need networking, if network setup fails cpurc (and termrc fail before starting rio. This is annoying and could be helped by detecting the failure and continue without network. One day somebody'll come up with a smart cpurc...

Now reboot... Uff! How to halt Plan9?!

  • fshalt and
  • Ctl+Alt+Del afterwards Mhm... There was something about setting up factotum and additional users on fossilcons...

When booting again, select the right kernel in the boot menu

Boom! you cannot connect to the file server, since the fileserver needs to

listen tcp!*!564
listen il!*!17008

in flproto or at the console so that others connect. This is (of course) not preconfigured with the standard setup routine.

Note the numerical portnumbers, they are needed because when fossil starts up no dns resolution or /lib/ndb is available yet to resolve. Afterwards you just write "9fs" instead of (any of the) portnumbers.

... connect as user bootes, go to the home directory and execute
fossil/conf /dev/sdC0/fossil >flproto
acme flproto
... add the above two lines at the bootom of the file
fossil/conf -w /dev/sdC0/fossil flproto

now reboot your fileserver, you'll be able to 9fs porticus.

Compiling a Personalized Kernel

TODO: describe/paste a working "pcXX" file here
kbmap Device:
Two items: 1. add "kbmap" to the pcXX kernel configuration file 1. {cpu,term}rc need to bind -a '"k" /dev, however "k" is greek kappa or something like this, 1. Snarf and Paste it from the kbmap man page