nfsroot tut nicht (bei mir)

greg54321

Neuer User
Mitglied seit
5 Jun 2009
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,
ich habe eine Minimal-Konfiguration mit nfsroot für meine 7390 gebaut, aber nfsroot funktioniert nicht.

Code:
root@fritz:/var/media/ftp# cd /etc/init.d
root@fritz:/etc/init.d# rc.nfsroot 
nfsroot is enabled
root@fritz:/etc/init.d# rc.nfsroot share
192.168.178.37:/volume1/Freetz-DG-root
root@fritz:/etc/init.d# mkdir /tmp/mnt
root@fritz:/etc/init.d# mount 192.168.178.37:/volume1/Freetz-DG-root /tmp/mnt
root@fritz:/etc/init.d# cd /tmp/mnt
root@fritz:/var/tmp/mnt# ls -la
drwxr-xr-x   17 root     root          4096 Aug 19 21:58 .
drwxrwxrwt    9 root     root          2220 Aug 20 08:44 ..
drwxr-xr-x    2 root     root          4096 Aug 19 21:55 bin
drwxr-xr-x    2 root     root          4096 Aug 19 21:55 data
drwxr-xr-x    3 root     root          4096 Aug 19 21:55 dev
drwxr-xr-x   25 root     root          4096 Aug 19 21:56 etc
drwxr-xr-x    3 root     root          4096 Aug 19 21:56 filesystem
lrwxrwxrwx    1 root     root            12 Aug 19 21:58 home -> var/mod/home
drwxr-xr-x    4 root     root         20480 Aug 19 21:56 lib
drwxr-xr-x    2 root     root          4096 Jul 15 15:47 mnt
lrwxrwxrwx    1 root     root             7 Aug 19 21:58 mod -> var/mod
lrwxrwxrwx    1 root     root            19 Aug 19 21:56 nohup.out -> ./var/tmp/nohup.out
drwxr-xr-x    2 root     root          4096 Aug 10 23:35 oldroot
drwxr-xr-x    2 root     root          4096 Aug 19 21:55 opt
drwxr-xr-x    2 root     root          4096 Jul 15 15:47 proc
drwxr-xr-x    2 root     root          4096 Aug 19 21:56 sbin
drwxr-xr-x    2 root     root          4096 Aug 10 23:35 sto
drwxr-xr-x    2 root     root          4096 Jul 15 15:47 sys
lrwxrwxrwx    1 root     root             7 Aug 19 21:58 tmp -> var/tmp
drwxr-xr-x    9 root     root          4096 Aug 19 21:58 usr
drwxr-xr-x    2 root     root          4096 Jul 15 15:48 var
-rw-r--r--    1 root     root         43520 Aug 19 21:55 var.tar
root@fritz:/var/tmp/mnt# 
root@fritz:/var/tmp/mnt# /etc/init.d/rc.nfsroot on
NFS root switched on (reboot to apply)


root@fritz:/var/tmp/mnt# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                13.4M     13.4M         0 100% /
tmpfs                    52.6M      1.5M     51.2M   3% /var
dev                      52.6M     16.0K     52.6M   0% /dev
/var/dev/nand           512.0M      1.1M    510.9M   0% /var/media/ftp
192.168.178.37:/volume1/Freetz-DG-root
                          3.6T      2.6T    980.8G  73% /var/tmp/mnt

nach einem reboot, ist das root-Filesystem aber weiterhin 13MB groß und rc.nfsroot status sagt "stopped".

Was mache ich falsch, und wo kann ich Fehlermeldungen nachvollziehen?

PS: auf meiner 7270 wird die Mount-Adresse ("nfs 192.168.178.37:/volume1/Freetz-DG-root") trotz gegenteiliger Meldung gar nicht in /proc/sys/urlader/environment eingetragen.

Viele Grüße,
Gregor
 
auf meiner 7270 wird die Mount-Adresse ("nfs 192.168.178.37:/volume1/Freetz-DG-root") trotz gegenteiliger Meldung gar nicht in /proc/sys/urlader/environment eingetragen.
Ich habe jetzt die Quellen für 7270 (man kann ja auch nicht sehen, welche Version Du besitzt) und 7390 gerade nicht bei der Hand ... aber dort hat sich einiges geändert.

Bei der 7390 gibt es die Variable "nfs" gar nicht mehr im Urlader-Environment (genauer in den Zeichenketten des Bootloaders), nur noch "nfsroot" ist dort enthalten ... bei der 7270v3 ist "nfsroot" ebenfalls im Bootloader enthalten.

Das Problem entsteht an anderer Stelle (abgesehen davon, daß ein unmodifiziertes "rc.nfsroot" im Trunk die Variable "nfs" verwenden will) ... zumindest konnte ich es an einer 7270v3 (74.06.05) nachvollziehen.

Das Schreiben in das Environment läuft ja über das proc-Interface des TFFS ... dort sind (die Zeilen unten stammen aus den Quellen der 7490, aber bei der 7270v3 funktioniert das Schreiben der Werte ebenfalls nicht, 7390 habe ich nicht getestet) seit einiger Zeit die früheren (AVM-)Variablen für das Verwenden eines NFS-Dateisystems aber auskommentiert (in linux/include/tffs.h):
Code:
    { FLASH_FS_MY_IPADDRESS,      "my_ipaddress" },
    /*--- { FLASH_FS_NFS,               "nfs" }, ---*/
    /*--- { FLASH_FS_NFSROOT,           "nfsroot" }, ---*/
    /*--- { FLASH_FS_OAM_LB_TIMEOUT,    "oam_lb_timeout" }, ---*/
    { FLASH_FS_PLC_DAK_NMK,       "plc_dak_nmk" },
Wie gesagt, in die Quellen für die Version Deines Modells mußt Du selbst schauen ... aber solange der TFFS-Treiber die Namen nicht kennt, könntest Du zwar über den Bootloader per FTP einen Eintrag "nfsroot" setzen (wenn der Bootloader den Namen noch kennt), aber spätestens beim Auslesen der Variablen im gestarteten System ist es dann ohnehin wieder vorbei.

Also entweder einen eigenen Kernel (nfsroot braucht ja ohnehin "replace kernel") mit eigenem TFFS-Treiber, wo die Zeilen wieder einkommentiert werden, verwenden oder doch auf die Verwendung eines NFS-Root-Dateisystems verzichten. Ohne die entsprechenden Namen im TFFS-Treiber wirst Du die jedenfalls weder eintragen noch auslesen können ... oder Du suchst Dir einfach aus der richtigen "tffs.h" einen Namen heraus, der in keinem anderen Zusammenhang benutzt wird - die Einträge "bb0" bis "bb9" sind da meines Wissens recht gute Kandidaten, notfalls auch die CWMP-Daten. Wenn ich (beim Überfliegen) rc.nfsroot richtig gelesen habe, spielt der Name der Variablen keine weitere Rolle ... das läuft wohl alles in diesem Skript und hat mit dem Kernel oder dem Bootloader per se nichts zu tun - der Austausch erfolgt über das Ersetzen des "init"-Skripts.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.