I have been recently learning about 9front, a modern distribution of plan9.

I installed it on my Thinkpad x220 laptop. Since my laptop uses a Realtek wifi card, I did not get wifi, so I had to do some weird ethernet connection things with my desktop. Needless to say, I got it working by adding Ethernet out of my desktop with NetworkManager on Linux.

Amavect on irc very kindly walked me through the process, so I want to have it here for my future self as well as anyone why wanders by with the same question.

To start we need to specify ourselves as the auth server. This is done by editing /lib/ndb/local database. Here is mine:

#
#  files comprising the database, use as many as you like, see ndb(6)
#
database=
	file=/net/ndb
	file=/lib/ndb/local
	file=/lib/ndb/common

#
#  entries defining the dns root.  these will be overridden by any
#  authentic info obtained from the root.
#
dom=
	ns=A.ROOT-SERVERS.NET
	ns=B.ROOT-SERVERS.NET
	ns=C.ROOT-SERVERS.NET
	ns=D.ROOT-SERVERS.NET
	ns=E.ROOT-SERVERS.NET
	ns=F.ROOT-SERVERS.NET
	ns=G.ROOT-SERVERS.NET
	ns=H.ROOT-SERVERS.NET
	ns=I.ROOT-SERVERS.NET
	ns=J.ROOT-SERVERS.NET
	ns=K.ROOT-SERVERS.NET
	ns=L.ROOT-SERVERS.NET
	ns=M.ROOT-SERVERS.NET

#
#  because the public demands the name localsource
#
ip=127.0.0.1 sys=localhost dom=localhost

sys=cirno ether=f0def16da6f3
ipnet=dojo ip=10.42.0.0 ipmask=255.255.255.0
	ipgw=10.42.0.1
	authdom=dojo
	auth=cirno
	cpu=cirno
	fs=cirno

My “hostname” is cirno, my network name is called dojo and 10.42.0.1 is my NetworkManager dhcp server thing. My ip on my Thinkpad is 10.42.0.61. I had to get this file right and check it with netaudit to make sure everything worked. Then I needed to change service=cpu in /n/9fat/plan9.ini in order to get auth/keyfs running by default and listening on port 567 for the cpu server.

Then I needed to be still in the auth/keyfs daemon namespace and make a password in secstore with auth/changeuser.

If the user was not default, I needed to install the user to the fileserver.

Then reboot!

In the boot menu here is what I put in:

authid: glenda
authdom: dojo
secstore key: <password for glenda>
password: <password for glenda>

Then we have a shell.

I needed to run ip/ipconfig to make the network work in the shell (i think!).

Then I could use

drawterm -h 10.42.0.61 -u glenda

on my linux machine with auth[10.42.0.61] left blank and the glenda password as the password. Then run rio and I am in!!!

Hooray!

Hopefully my future self thanks me for this, and I owe a huge thanks to Amavect for helping me with this. The next steps is to figure out how to run rio on start (like service=terminal) even when service=cpu. Amavect said this was doable, and had something to with “services”.

For completeness, here is my /n/9fat/plan9.ini file:

bootfile=9pc64
bootargs=local!/dev/sdE0/fscache
mouseport=ps2
monitor=vesa
vgasize=1366x768x32
service=cpu

Also, these fqa links deal with the same things that I talked about in this post. (I wanted to put everything in one place)

http://fqa.9front.org/fqa7.html#7.5.1 http://fqa.9front.org/fqa7.html#7.4