Hallo, ich will ne Kiste via NFS über nen LAN booten. Dafür habe ich mir nen Kernel (2.6.9) wie folgt fertig gemacht: --------8<-------- CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V4=y -------->8-------- und --------8<-------- CONFIG_VIA_RHINE=y -------->8-------- Anschließend habe ich PXEBoot wie folgt konfiguriiert: --------8<-------- label linux kernel /vdr-vmlinuz append nfsroot=/vdr,rsize=8192,wsize=8192,rw ip=dhcp -------->8-------- Der NFS Server hat folgenden export: --------8<-------- /vdr *(rw,no_root_squash,no_subtree_check,rw,sync,secure,no_all_squash) -------->8-------- In der fstab für den Client steht --------8<-------- 192.168.0.5:/vdr / nfs rw,rsize=8192,wsize=8192,hard,intr 0 0 -------->8-------- Soweit so gut. Der Client bootet auch den Kernel, hängt dann aber mit folgender Meldung: --------8<-------- VFS: Cannot open root device "<NULL>" or unknown-block(3,1) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1) -------->8-------- Woran könnte das liegen? Der NFS Export ist eigentlich korrekt (kann ich via localhost problemlos mounten, andere Exports lassen sich auch mounten). Den Rest habe ich von [1]. Any hints?? Floh [1]: http://www.fh-augsburg.de/informatik/projekte/embedix/peternov_1.html
Florian Schwarz wrote:
Hallo,
ich will ne Kiste via NFS über nen LAN booten. Dafür habe ich mir nen Kernel (2.6.9) wie folgt fertig gemacht:
--------8<-------- CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V4=y -------->8-------- und --------8<-------- CONFIG_VIA_RHINE=y -------->8--------
...
Woran könnte das liegen?
CONFIG_ROOT_NFS=y gesetzt? CONFIG_IP_PNP_DHCP=y gesetzt? mfg. frank
On Tue, 2004-12-21 21:28:12 +0100, Frank Roechter <frank@fhd.de> wrote in message <41C8875C.1030803@fhd.de>:
Florian Schwarz wrote:
Woran könnte das liegen?
CONFIG_ROOT_NFS=y gesetzt? CONFIG_IP_PNP_DHCP=y gesetzt?
Davon abgesehen fehlt "root=/dev/nfs" in der Kernel-Kommandozeile... MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Jan-Benedict Glaw schrieb:
Florian Schwarz wrote:
Woran könnte das liegen?
CONFIG_ROOT_NFS=y gesetzt? CONFIG_IP_PNP_DHCP=y gesetzt?
Davon abgesehen fehlt "root=/dev/nfs" in der Kernel-Kommandozeile...
Optimal, danke, die Kernel Einstellungen fehlten. Jetzt habe ich bloß ein anderes Problem: Ich will LinVDR (ne Mini VDR Distri) starten und bekomme beim Booten Fehlermeldungen, die ich nicht ganz zuordnen kann weil der Bildschirm von nem Fortschrittsbalken "messed up" wird. Was ich sehen kann ist: "Network is unreachable" "portmap: command not found" "cannot redirect standard input from /dev/null" Schuld ist IMHO folgende Stelle im Bootscript. Es scheint als wenn der irgendwie mit /dev nen Problem hat... ------8<------ execute() { OLDIFS=$IFS IFS="" echo $* >/dev/tty13 2>/dev/tty13 $* >/dev/tty13 2>/dev/tty13 IFS=$OLDIFS } ------>8------ Any hint is greatly appreciated!! Floh
On Tue, 2004-12-21 22:13:20 +0100, Florian Schwarz <floh@linland.de> wrote in message <41C891F0.7000609@linland.de>:
"Network is unreachable"
loopback-Interface schon konfiguriert?
"portmap: command not found"
/sbin/portmap ist nicht vorhanden
"cannot redirect standard input from /dev/null"
/dev/null auch nicht
Schuld ist IMHO folgende Stelle im Bootscript. Es scheint als wenn der irgendwie mit /dev nen Problem hat...
------8<------ execute() { OLDIFS=$IFS IFS="" echo $* >/dev/tty13 2>/dev/tty13 $* >/dev/tty13 2>/dev/tty13 IFS=$OLDIFS } ------>8------
Das gibt einfach einen auszuführenden Befehl auf der 13. virtuellen Konsole aus und führt ihn danach auch aus, mit Ausgabe-Umleitung ebenfalls auf /dev/tty13 (was dafür natürlich vorhanden sein sollte). MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Jan-Benedict Glaw schrieb:
"Network is unreachable"
loopback-Interface schon konfiguriert?
"portmap: command not found"
/sbin/portmap ist nicht vorhanden
"cannot redirect standard input from /dev/null"
/dev/null auch nicht
Schuld ist IMHO folgende Stelle im Bootscript. Es scheint als wenn der irgendwie mit /dev nen Problem hat...
------8<------ execute() { OLDIFS=$IFS IFS="" echo $* >/dev/tty13 2>/dev/tty13 $* >/dev/tty13 2>/dev/tty13 IFS=$OLDIFS } ------>8------
Das gibt einfach einen auszuführenden Befehl auf der 13. virtuellen Konsole aus und führt ihn danach auch aus, mit Ausgabe-Umleitung ebenfalls auf /dev/tty13 (was dafür natürlich vorhanden sein sollte).
Lag wohl daran, dass das Netzwerk noch nicht oben war und daher der NFS Share nicht ganz gemountet war. Ich hab die Reihenfolge im Bootscript mal verändert, jetzt bootet die Kiste relativ sauber durch. Nur vdr lässt sich noch nicht starten. Obwohl das DVB-Device sauber initialisiert wird mault vdr rum es hätte kein Device: ------8<------ Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: invalid primary device number: 1 Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: no primary device found - using first device! Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: invalid primary device number: 1 ------>8------ Gibt es einen Unterschied zwischen /dev auf nem Lokal gebooteten System und /dev auf nem System was von nem NFS Server kommt?? Danke, Floh
On Tue, 2004-12-21 22:48:43 +0100, Florian Schwarz <floh@linland.de> wrote in message <41C89A3B.6090505@linland.de>:
lässt sich noch nicht starten. Obwohl das DVB-Device sauber initialisiert wird mault vdr rum es hätte kein Device:
------8<------ Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: invalid primary device number: 1 Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: no primary device found - using first device! Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: invalid primary device number: 1 ------>8------
Gibt es einen Unterschied zwischen /dev auf nem Lokal gebooteten System und /dev auf nem System was von nem NFS Server kommt??
Bei NFS gilt grundsätzlich: major/minor number passt nur, wenn der Client sie auch angelegt hat (insbesondere, wenn Client und Server unter unterschiedlichen Betriebssystemen laufen). Bei Linux<->Linux ist das aber unproblematisch. Hier würde es IMHO helfen (regelmäßige Leser meiner Beiträge wissen schon, was jetzt kommt), den Start mal via strace zu verfolgen. Dann würde man vermutlich schnell herausfinden, ob das device nicht da ist, oder der Treiber, oder ... Bei NFS-Geschichten gibt's aber noch zwei Tricks: ethereal/tcpdump und strace am NFS-Server (was natürlich nur klappt, wenn da ein nfs-user-server werkelt). Einer der Gründe, warum ich den Kernel-NFS-Server nicht mag. MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 _ O _ "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Teilnehmer (3)
-
Florian Schwarz
-
Frank Roechter
-
Jan-Benedict Glaw