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 it is a perfect candidate operating system for the 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:
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:
/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
- Remark that you have still plenty of empty space on the target disk
- You could create other partitions like Raspbian in a multi-boot environment using GParted and dd
- Additional (data) partitions could be added as well
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
Unresolved: we would require a getty daemon to get a console prompt...
- ↑ Plan 9 for Raspberry Pi, Retrieved 16-11-2014