💾 Archived View for gemlog.blue › users › whtrbt › 1597840335.gmi captured on 2023-11-14 at 13:15:43. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2020-09-24)
-=-=-=-=-=-=-
This is a series of loosely edited notes I made for myself while figuring out how to get Plan 9 running on my Raspberry Pi 3B+. I don't have any experience with any other computers.
I started with Richard Miller's port of Plan 9, which was very easy to get running but I ran into some difficulties viewing some sites in Abaco and wanted to try 9front to compare. I was unable to get wifi working on 9front (there is no driver) so gave up and returned to Plan 9.
It's possible to create an image using an existing Plan 9 set up but I don't know how to do that. Instead, I used a pre-made image.
Download the zipped image from here:
https://9p.io/wiki/plan9/download/
Extract the image.
gunzip <...pi3.img>
Check which disk is your SD card - e.g. /dev/disk4. Make sure you get the right one!
diskutil list
Repartition the disk and copy the image across.
sudo diskutil partitionDisk /dev/diskN 1 MBR "Free Space" "%noformat%" 100% diskutil unmountDisk /dev/diskN sudo dd bs=1m if=9pi.img of=/dev/rdiskN; sync
You can press ctrl-T to see progress. When it's done, you can eject the disk.
sudo diskutil eject /dev/rdiskN
Should be the same?
Not sure - please let me know if you can complete this section.
Put the SD card in your Pi and power it on!
You should see some start up text on the screen, then Plan 9's windowing system 'rio' will start. If it doesn't start, you may notice that the start up text includes a prompt about whether to boot from tcp or local. Hit Enter to boot from local. You may then see a prompt asking for the user. Enter 'glenda'. If you are still at a prompt after this, you can enter 'rio' to start it manually.
If the Pi keeps restarting or is stuck on a rainbow square, then it's probably underpowered. I'm using a 5V 2.4A supply for this.
You will see some windows on the screen, including two with some helpful text. If you've never used Plan 9 before, read through these text so you know a little about interacting with rio and editing files in acme.
Create a new window with a terminal prompt by right clicking, releasing on new and then clicking and dragging out the window size with the right mouse button. New windows created this way start with a terminal prompt.
You are currently signed in as the user glenda, which I believe is an admin user. You can create a new user named <user> and give them system and admin access by entering the following into the terminal prompt:
con -l /srv/fscons unname <user> <user> uname sys +<user> uname adm +<user>
The first command is connecting you to the file system (called fossil) server. The rest are commands for the file server server. You can quit by typing Control-\ and then q.
At the prompt, enter:
c: ls /n/c
This is mounting the boot part of the Pi image at /n/c then listing its contents.
Edit the contents of cmdline.txt
acme /n/c/cmdline.txt
In acme, change the contents of the file to read:
readparts=1 nobootprompt=local user=<user> nvram=#s/sdM0/nvram ether1=type=4330
Everything needs to be on a single line. You can middle click on Put to save the changes and then Exit to return to the terminal prompt.
These changes will enable wifi and cause the system to automatically sign in as the new user. I'm not sure what readparts and nvram do exactly... you can look at cmdline-wifi.txt or some of the other files in /n/c to see where I found these.
If you are using a wired connection, you can try adding ipconfig= on the end to automatically configure IP via DHCP upon boot.
fshalt
This stops the fileserver. You can then cut the power and reboot. Normally you can restart by entering:
fshalt -r
but for some reason this does not pick up the changes to cmdline.txt.
You should always shut down the file server before powering off or restarting.
rio won't start automatically the first time. I think this is because the user is not fully set up yet. Enter rio at the terminal prompt. You'll see a grey screen this time, with no windows. From now on, I'm not going to clarify when to open a window to run something in a terminal - I'll just show the commands.
/sys/lib/newuser fshalt -r
This time rio should automatically start.
bind -a '#l1' /net aux/wpa -2p -s <SSID> /net/ether1 <enter wifi password at prompt> ip/ipconfig ether /net/ether1
If you're using wired internet with DHCP, then you shouldn't need to do anything.
ndb/dns -r ndb/cs
touch /usr/<user>/lib/webcookies webfs
abaco
I'm not sure how to set the system clock manually. You can set the timezone and then synchronise the time with an internet server.
First, see what timezones exist and note the name of the one you want to use.
lc /adm/timezone
Then copy that file to /adm/timezone/local
cp /adm/timezone/Australia_Victoria /adm/timezone/local
This might need a restart to take effect.
To sync with a time server (you'll have to find one you want to use):
aux/timesync -n au.pool.ntp.org
How to set up wifi, sync time on boot.
How to set up email