[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: NFS Root - Diskless Clients



hi

> Doch im Prinzip schon, unter /lib/modules/2.4.18-bf stehen findest Du
> sämtliche Module, wenn da nfs-client Module dabei sind, müsstest Du diese
> aus der initrd laden.

stimmt - daran habe ich jetzt nicht gedacht *g*
kann man denn auch wo die mit einkompilierten module nachschauen ?

> IHMO müssen diese dann in der initrd vorhanden sein. Die kernel insmod
> Option ist mir unbekannt, nach meinem Wissen müssen die Module dann aus
der
> initrd heraus geladen werden.

vielen dank für die info - also nur mit dem initrd ist es dann dem kernel
möglich module zu laden, wenn noch kein root-datei-system gemountet ist.

> Ich habe damit mal unter Suse ganz schlechte Erfahrungen gemacht und
> verwende sowas seitdem nicht mehr.

dem kann ich jetzt auch nur noch zustimmen, es geht auch ohne *g*

> Würde wahrscheinlich auch gehen, Du verhinderst aber diese Probleme mit
der
> kernel Option 'root=/dev/ram0'

hmm, somit hätte man aber nicht mehr die möglichkeit über NFS ein
root-dateisystem einzubinden, sofern ich das jetzt richtig verstehe.

> Schau Dir doch mal mein howto an, vielleicht gibt es Dir ein paar
> Anhaltspunkte:
>
>
http://www.pci.uni-heidelberg.de/tc/usr/bernd/downloads/nfs-root-howto/diskl
ess-nfs-howto.txt

vielen dank für den link - das howto klärt einiges auf :-)

> ich habe mir auch diskless clients gebaut, habe allerdings den kernel
> (vorher 2.4.irgendwas, inzwischen 2.6.4) selbst kompiliert, da nfs root
> unterstützung defaultmäßig nicht enabled war.

habe es nun auch hinbekommen mit dem root-nfs, die kernel unterstützung für
root-nfs hat gefehlt....
nun funktioniert es ... :-)

> ich habe mir auch diskless clients gebaut, habe allerdings den kernel
> (vorher 2.4.irgendwas, inzwischen 2.6.4) selbst kompiliert, da nfs root
> unterstützung defaultmäßig nicht enabled war.

habe es nun genauso gemacht, es war nur etwas schwierig die passenden
einstellungen zu finden.
ich ging dabei folgendermaßen vor:  (fürs mailinglist-archiv ;-))

zunächst den kernel-source geladen ( "wget <url>" ), dann entpackt ( "tar
xzfv <filename>" für .tar.gz oder "tar xjfv <filename>" für tar.bz2 (evtl
"apt-get install bzip2" für letztere möglichkeit)) und dann
die konfiguration gestartet ( make menuconfig ( evtl. vorher "apt-get
install libncurses5-dev make gcc" )) dann unter "network device support" =>
"ethernet (10 or 100mbit)" bzw. "ethernet (1000 mbit)" die passende
netzwerkkarte auswählen. ( "y" drücken, es sollte dann ein sternchen
dranstehen, KEIN "M" (falls doch, nochmal leertaste drücken), denn die
netzwerkkartenunterstützung muss fest einkompiliert werden !) dann wieder
zurück ins hauptmenue => "networking options"  unter "tcp/ip networking"
das "ip: kernel level autoconfiguration" wählen ( wieder "y") und unter den
darunter erscheindenden menüpunkten jeweils auch das passende (im
zweifelsfall einfach alle 3 (dhcp, bootp, rarp)). daraufhin wieder ins
hauptmenü wechseln, nach unten "scrollen" und unter "file systems" wieder
fast ganz unten "Network file systems", dann "nfs file system support"
(anwählen auch mit "y" )) "provide nfsv3 client support" und "root file
system on nfs" wählen, wieder zum hauptmenü wechseln und die restlichen
module nach bedarf konfigurieren (cpu-auswahl beachten!). wichtig bei der
modulauswahl ist, in der von mir genannten reihenfolge vorzugehen, da die
wählbaren optionen voneinander abhängen, also wenn zb "ip autoconfiguration"
nicht gewählt ist, ist auch "root on nfs" nicht verfügbar. dann die
konfiguration speichern und "make dep clean" eingeben, etwas warten. Sobald
der vorgang abgeschlossen ist, "make bzImage modules" eingeben, und noch
etwas länger warten *g* wenn der vorgang abgeschlossen ist, wird in dem
unterverzeichnis arch/i386/boot eine datei "bzImage" zu finden sein, das ist
das fertige kernelimage und muss in den tftp-root kopiert werden, als
dateiname dabei den bei der konfiguration von pxelinux (
pxelinux.cfg/default ) gewählten kernel-image namen wählen.

> ob es inzwischen vorhanden ist, kannst du in der config vom kernel sehen,
> die mitgeliefert wird, in /boot/config-2.4.18-xxx (zumindest denke ich daß
> das die ausgangsconfig ist, da sie im kernel-image-xxx package enthalten
ist
> ...)

ah ok, vielen dank für den tipp, sowas habe ich gesucht :-)

> ich bin jetzt nicht sicher, ob nicht noch etwas anders (bootp etc.)
enabled
> werden muß?

naja, ich habe einfach bei autoconfig alles angewählt (glaube nur dhcp wäre
nötig gewesen), aber sicher ist sicher, und vielleicht braucht man es ja mal
;-)

nochmals vielen dank für die antworten :-)

mfg christoph



Reply to: