Πιθανότατα η υποστήριξη του RARP μέσα στον πυρήνα του server να είναι μιά καλή ιδέα. Πρέπει να την συμπεριλάβετε, αν είναι να bootάρετε χωρίς παραμέτρους πυρήνα. Από την άλλη πλευρά, δεν πρόκειται να σας βοηθήσει, αν ο client δεν βρίσκεται στο ίδιο υποδίκτυο (subnet) με τον server.
Ο πυρήνας γιά τον ws χρειάζεται το ακόλουθο ελάχιστο σύνολο δυνατοτήτων compiled μέσα του :
Αν ο ws θα bootάρει χωρίς παραμέτρους του πυρήνα, πρέπει επίσης να θέσετε
το root device ως 0:255. Κάντε το αυτό δημιουργώντας ένα ψεύτικο (dummy)
αρχείο device, δίνοντας : mknod /dev/nfsroot b 0 255
. Αφού
φτιάξετε αυτό το αρχείο, μπορείτε να θέσετε το root device του image του
πυρήνα, με : rdev <kernel-image> /dev/nfsroot
.
Προειδοποίηση : Αν και αυτές εδώ οι οδηγίες πιθανότατα θα δουλέψουν
στο δικό σας σύστημα, δεν είναι καθόλου αυτονόητες γιά οποιοδήποτε
περιβάλλον. Γιά καλύτερους τρόπους να στήσετε ένα root filesystem γιά τους
clients, διαβάστε το NFS-Root-Client mini howto του Ofer Maor
<ofer@hadar.co.il>
.
Αφού αποφασίσετε πού θα βάλετε το root tree, δημιουργήστε το με (πχ) :
mkdir -p <directory>
και :
tar cClf / - | tar xpCf <directory> -
.
Αν bootάρετε τον πυρήνα σας χωρίς LILO, τότε το rootdir πρέπει να είναι :
/tftpboot/<IP-address>
. Αν δεν σας αρέσει, μπορείτε να το
αλλάξετε από μέσα από το επάνω-επάνω Makefile στα sources του πυρήνα. Ψάξτε
γιά μιά γραμμή σαν αυτή : NFS_ROOT = -DNFS_ROOT="\"/tftpboot/%s\""
Αν αλλάξετε αυτή την γραμμή, πρέπει να ξανακάνετε compile τον πυρήνα.
Τώρα αφαιρέστε τα άχρηστα αρχεία, και ελέγξτε τα scripts του /etc/rc.d . Μερικά σημαντικά σημεία :
Κάντε export το root dir προς τον ws. Διαβάστε την εντολή : exports(5)
.
Πιθανότατα θα πρέπει να επανεκκινήσετε το nfsd/mountd μετά απ' αυτή την
αλλαγή. Με το RedHat αυτό γίνεται εύκολα, δίνοντας :
/etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start
.
Ρυθμίστε το RARP κάπου επάνω στο δίκτυο. Αν bootάρετε χωρίς παράμετρο nfsroot, ο server του RARP πρέπει να είναι και ο server του NFS . (Συνήθως είναι.) Γιά να το επιτύχετε αυτό, πρέπει να τρέξετε έναν πυρήνα με υποστήριξη RARP .
Γιά να το κάνετε, δώστε (και εγκαταστήστε το κάπου μέσα στο /etc/rc.d
του server!) :
/sbin/rarp -s <ip-addr> <hardware-addr>
όπου :
είναι η διεύθυνση IP του ws, και
είναι η διεύθυνση Ethernet της κάρτας δικτύου του ws.
παράδειγμα : /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12
Μπορείτε επίσης να χρησιμοποιήσετε ένα συμβολικό όνομα αντί της διεύθυνσης IP, όσο ο server είναι ικανός να βρίσκει τη διεύθυνση αυτή. (Με ψάξιμο στο /etc/hosts , ή στο DNS .)
Γιά τη ρύθμιση του BOOTP πρέπει να διορθώσετε το /etc/bootptab
.
Παρακαλώ, συμβουλευτείτε τις man σελίδες bootpd(8) και
bootptab(5) .
Δεν ξέρω ποια είναι η hardware διεύθυνση! Πώς την βρίσκω;
/sbin/arp -a