Τα περιεχόμενα του /net/ndb
θα είναι χρήσιμα κατά την διάρκεια όλης της
διαδικασίας, οπότε έχετέ τα ορατά σε κάποιο άλλο παράθυρο:
; ip/ipconfig
; cat /net/ndb
ip=192.168.1.152 ipmask=255.255.255.0 ipgw=192.168.1.3
sys=cirno
dns=192.168.1.1
dns=192.168.1.1
Ρυθμίσεις εκκίνησης
Το 9fat
partition περιέχει το kernel, bootloader, καθώς και τις ρυθμίσεις
εκκίνησης. Εισάγετε τις παρακάτω γραμμές στο plan9.ini
. Σιγουρευτείτε ότι οι
τιμές ταιριάζουν στις δικές σας ρυθμίσεις:
; 9fs 9fat
; cd /n/9fat
; cat >> plan9.ini
user=glenda
cpu=192.168.1.152
auth=192.168.1.152
authdom=someauth
service=cpu
^D
Ο user
είναι κάτι σαν τον root χρήστη στα συστήματα UNIX, τα cpu
και auth
ορίζουν τις διευθύνσεις IP των CPU και auth servers αντίστοιχα, το authdom
είναι το domain name του server, και το service=cpu
ξεκινάει τον CPU listener
κατά την εκκίνηση.
Επειδή θέλουμε το 9front να bootάρει αυτόματα, το prompt bootargs
πρέπει να
προσπεραστεί. Για να το κάνετε αυτό, αλλάξτε την μεταβλητή bootargs
(οι τιμές
της μπορεί να είναι διαφορετικές) στο plan9.ini
:
bootargs=local!/dev/sdE0/fs
# change to...
nobootprompt=local!/dev/sdE0/fs -m 291 -A -a tcp!*!564
Auth server
Ορίστε όνομα και κωδικό για τον διαχειριστή του auth server — τα authid
και
authdom
πρέπει να ταιριάζουν με αυτά του plan9.ini
:
; auth/wrkey
bad nvram des key
bad authentication id
bad authentication domain
authid: glenda
authdom: someauth
secstore key:
password: <your_pass>
Ορίστε τον κωδικό της glenda
. Αυτός πρέπει να είναι ίδιος με αυτόν που
ορίσατε στο wrkey(8). Πάντα να τρέχετε το keyfs(4) προτού επεξεργάζεστε
κλειδιά:
; auth/keyfs
; auth/changeuser glenda
Password: <your_pass>
Confirm password: <your_pass>
assign new Inferno/POP secret? [y/n]: y
make it the same as Plan 9 password? [y/n]: y
Expiration date (YYYYMMDD or never)[never]:
Post id:
User's full name:
Department #:
User's email address:
user glenda installed for Plan 9
; auth/enable glenda
Βάση δεδομένων δικτύου
Εισάγετε τις παρακάτω γραμμές στο /lib/ndb/local
(προσοχή στις λεπτομέρειες,
ειδικά στο ip=
):
; cat >> /lib/ndb/local
authdom=someauth auth=192.168.1.152
ipnet=iphome ip=192.168.1.0 ipmask=255.255.255.0
ipgw=192.168.1.3
auth=192.168.1.152
authdom=someauth
fs=192.168.1.152
cpu=192.168.1.152
dns=192.168.1.1
^D
Το ipnet
μπορεί να είναι οτιδήποτε.
Συγχρονίστε τις αλλαγές και επανεκκινήστε το σύστημα:
; echo sync >> /srv/hjfs.cmd
; fshalt -r
Μετά την επανεκκίνση
Ενεργοποιήστε το δίκτυο:
; bind -a '#l0' /net
; ip/ipconfig
; ip/ipconfig ether /net/ether0
Συνδεθείτε στον server με την χρήση του drawterm ως glenda
:
$ drawterm -u glenda
cpu[cpu]: 192.168.1.152
auth[192.168.1.152]:
glenda@someauth dp9ik password: <your_pass>
Ξεκινήστε τον rio(1):
cpu% rio -s -i riostart
Το /cfg/$sysname/cpustart
περιέχει εντολές οι οποίες τρέχουν κατά την
εκκίνηση. Μπορείτε να προσθέσετε οτιδήποτε θέλετε εκεί — εγώ θα βάλω τις
εντολές που τρέξαμε μετά την επανεκκίνηση για να κάνω την ζωή μου πιο εύκολη:
; mkdir /cfg/$sysname
; cat > /cfg/$sysname/cpustart
bind -a '#l0' /net
ip/ipconfig
ip/ipconfig ether /net/ether0
cat /net/ndb
^D
Νέος χρήστης
Προσθέστε έναν νέο χρήστη στον file server, ορίστε τον σε μερικά συνηθισμένα groups, και ορίστε του κωδικό:
; echo newuser christos >> /srv/hjfs.cmd
; echo newuser sys +christos >> /srv/hjfs.cmd
; echo newuser adm +christos >> /srv/hjfs.cmd
; echo newuser upas +christos >> /srv/hjfs.cmd
; echo newuser cron +christos >> /srv/hjfs.cmd
; auth/keyfs
; auth/changeuser christos
; auth/enable christos
; cat >> /lib/ndb/auth
hostid=christos
uid=!sys uid=!adm uid=*
^D
Κάντε επανεκκίνηση ώστε να τεθούν σε ισχύ οι αλλαγές:
; fshalt -r
Συνδεθείτε με το drawterm ως christos
και τρέξτε το newuser(8) ώστε να
ορίσετε το home directory του:
$ drawterm -u christos
...
; /sys/lib/newuser