How do I get my NeXT Cube to run Plan 9
Configuration
Terminal
NeXT Cube'040 25 MHz
Server
DEC XL Server 590 running NeXTSTEP 3.3 and u9fs
=======
Set up u9fs
1. Download and patch u9fs for NeXTSTEP
The u9fs downloaded from AT&T plan 9site does not compile on NeXTSTEP
due to the lacking of some library functions like strdup. However, it
is trivial to patch it. I have put together the diff. I assume that
the source code for the u9fs is installed at
/usr/local/plan9/unix/src/u9fs and the plan 9 distribution is
installed in /usr/local/plan9.
# cd /usr/local/plan9/unix/src/u9fs
# patch < u9fs-patch-for-NeXTSTEP.diff.txt
Before compile the file, take a look at the Makefile. There is a flag
for whether the underlying arch is big or small endian. Make sure to
set it properly according to the NeXTSTEP machine you have.
# make
2. Install u9fs
I install u9fs in /usr/local/plan9/unix/bin.
# make install
/etc/inetd.conf
Add the following entry to the /etc/inetd.conf.
# Plan 9 file server
u9fs stream tcp nowait root /usr/local/plan9/unix/bin/u9fs u9fs /usr/local/plan9
Services in NetInfo database
Run the following command as root to add the u9fs services to the
service databse.
# echo u9fs 564/tcp u9fs | niload services .
Restart inetd
# ps -aux | grep inetd
# kill -HUP [inetd pid]
3. Copy Unix authentication files
The u9fs uses UNIX style authentication and runs with chroot(). You
need to copy several files into the /usr/local/plan9/etc directory.
/usr/local/plan9/etc/hosts
Download the files from NetInfo:
# cd /usr/local/plan9/etc
# nidump hosts . > hosts
Make sure the IP for the NeXT machine and the IP for the file server
is in there.
/usr/local/plan9/etc/passwd
You need to add at least two users none and boote to the NeXTSTEP
system. The shell and home directory of these two users are not
important. Fire up UserManager.app to add the users. Then, add the
passwd information to the passwd for u9fs.
# cd /usr/local/plan9/etc
# nidump passwd . > passwd
/usr/local/plan9/etc/hosts.equiv
# cd /usr/local/plan9/etc
# echo next > hosts.equiv
^^^^ file name for you black machine
/usr/local/plan9/.rhosts
If you are running u9fs as root, you also need this files.
# cd /usr/local/plan9
# echo none next > .rhosts
^^^^^^^^^^^^^^^^^^^^^^^ put all account for Plan 9 user
4. Edit the /lib/ndb/local in Plan 9
Check the man page on ndb file format. The terminal needs this file to
make the network function properly.
=======
Set up netboot for NeXT
1. Configure bootp
Edit /etc/bootptab
Here is the content of my /etc/bootptab.
# directory contain boot
/usr/local/plan9
68020/9nextstation
%%
next 1 00:00:0f:00:9b:ba 192.42.172.2 68020/9nextstation
Restart bootpd
Run these commands as root.
# ps -aux | grep bootpd
# kill -9 bootpd
# /usr/etc/bootpd
2. Get boot program for NeXT machine
The boot is located in /private/tftpboot/boot. Copy it to
/usr/local/plan9.However, the newer version does not do the
initialization properly and this causes the plan 9 to hang during boot
time. I used the boot from NeXTStep 2.1. If you don't have access to
NeXTStep 2.1 boot, [email protected] sent me a suggestion about how to
get boot in 3.x to work. See the following.
Boot the black machine
Here is the moment you have been waiting for.
1. Get into ROM monitor
Press Cmd-Cmd-~ and type halt.
2. Netboot the NeXT
Use the following command to net boot the NeXT in ROM monitor.
> ben 68020/9nextstation
If you are using boot from NS 2.1, you should see the Plan 9 coming up
on the screen. If you use later version of the boot program, the
system will hang with Exception #4. Don't panic yet. The following may
fix it. Thanks to [email protected].
A quick fix if you don't have an early version boot program is to
start the kernel manually with the following commands to the ROM
monitor, after the exception occurs:
> r pc
? 4000000
> c
This changes the program counter to the correct entry point 4000000
and then execution is begun at that point.
I haven't tried that but let me know if you do. If everything goes
well, you need to tell the black box what is its IP and where the file
server is.
3. Login to Plan 9
It does not matter what value you set the authentication server since
it will not be used by the client.
[boot message ...]
root at (tcp il)[il]: tcp
my ip address[no default]: [IP of the next machine]
my net mask[no default]: [netmask]
my gateway[no default]: [IP of the gateway]
file server[no default]: [IP of the file server]
authentication server [0.0.0.0]: [RET to take default] [
user[none]: [RET]
4. Plan 9 on black box
At this point, you should be running Plan 9 on the NeXT box. The NeXT
mouse should be working and use Alt-RightMouseButton to get the middle
mouse button.
=======
How about security
The u9fs uses Unix security model and it will allow the connection
with no password. If your file server is on the net, you may want to
protect it with tcp wrapper or TISfirewall toolkit.
|