Remote CPU Server On 9front
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