Χρήστος Μαργιώλης

Σεττάρισμα CPU server στο 9front

2022.03.07 | tags: τεχνολογία

Τα περιεχόμενα του /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


← Previous Index