Plan 9 on Raspberry Pi

The Plan 9 operating system has been made available as open source by Bell Labs since 1992. It is an experimental operating system specially targeted to developers. Since it has a small footprint is a perfect candidate operating system for Raspberry Pi. This is a rough script to install Plan 9 on e.g. a Raspberry Pi.

Obtaining the installation kit
Download the installation kit. You might perform the unzip operation later: gunzip 9pi.img.gz

Available partitions
You can run another Linux system, or boot from a live DVD, and have a USB stick (containing the distribution kit) and an (empty) SD card available. First check the available partitions on your system:

blkid

/dev/sdb1: UUID="E704-D4E9" TYPE="vfat" /dev/sdc: SEC_TYPE="msdos" LABEL="WEBKIT" UUID="22DA-36EB" TYPE="vfat" Check the target device: fdisk -l /dev/sdb

Device Boot     Start         End      Blocks   Id  System /dev/sdb1           8192    61497343    30744576    c  W95 FAT32 (LBA) Note: Your environment might be different...

Install the Plan 9 system
Now install the Plan 9 operating system on the SD card: umount /dev/sdb1 mount /dev/sdc /mnt/sdc Check the source kit: ls -l /mnt/sdc

total 598176 -rwxr-xr-x 1 root root 481976320 Jun 29 22:41 9pi.img

dd bs=1M if=/mnt/sdc/9pi.img of=/dev/sdb or if you did not unzip the kit: gunzip -dc /mnt/sdc/9pi.img.gz |dd bs=1M of=/dev/sdb Caveat: all the data from the target SD card will be lost...

Partitions after the installation
fdisk -l /dev/sdb

Device Boot     Start         End      Blocks   Id  System /dev/sdb1             63      120959       60448+   b  W95 FAT32 /dev/sdb2         120960     3782015     1830528   39  Plan 9 Note:
 * 1) Remark that you have still plenty of empty space on the target disk
 * 2) You could create other partitions like Raspbian in a multi-boot environment using GParted and dd
 * 3) Additional (data) partitions could be added as well

First boot
Now you can mount the SD card in a Raspberry Pi, and have a first boot. Do not forget to connect a keyboard, mouse, and a HDMI screen.

Activating the network
To enable DHCP networking you can choose another boot file: cp /boot/cmdline-demo-net.txt /boot/cmdline.txt You could customize both cmdline.txt and config.txt to tune your system to your requirements.

Serial port console access
You might try to have console access. See RPi Serial Connection.

dmesg |tail screen /dev/ttyUSB0

^az Unresolved: we would require a getty daemon to get a console prompt...

Internet links

 * http://www.quanstro.net/newbie-guide.pdf
 * http://www.plan9.bell-labs.com/wiki/plan9/Unix_to_Plan_9_command_translation/index.html
 * http://www.plan9.bell-labs.com/wiki/plan9/plan_9_wiki/
 * http://www.plan9.bell-labs.com/plan9/