RaspberryPi 3 über NFS booten

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hi

    ich habe ein kleines Problem meinen RaspberryPi 3B+ über NFS zu booten. Ich hatte das ganze schon auf einer Server-Umgebung auf der Arbeit am laufen, nun versuche ich es privat auf meinem Laptop zu machen. Daher weis ich was ich hier tun muss, bekomme aber beim NFS-boot nicht weiter.

    kurz zum Setup:

    - Host: MacBook Pro 2015 mit MacOS 11.2.1

    - Gast: Debian 10 Server via VirtualBox 6.1.16

    - Debian mit Netzwerkadaper auf Netzwerkbrücke gestellt um ins Hostnetz zu kommen

    - im Debian Docker 20.10.3 installier um 3 Container bereit zu stellen:

    -> 3x3cut0r/isc-dhcp-server:latest

    -> 3x3cut0r/tftpd-hpa:latest

    -> erichough/nfs-server:latest

    verwendetes Image:

    Code
    https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-01-12/2021-01-11-raspios-buster-armhf-lite.zip

    /tftpboot

    /nfsroot/raspberrypi

    /tftpboot/cmdline.txt

    Code
    selinux=0 dwc_otg.lpm_enable=0 console=tty1 root=/dev/nfs nfsroot=192.168.15.254:/nfsroot/raspberrypi,vers=4.1,tcp rw ip=dhcp rootwait elevator=deadline

    /etc/exports

    Code
    /nfsroot/raspberrypi *(rw,sync,no_subtree_check,no_root_squash)

    /nfsroot/raspberrypi/etc/fstab

    Code
    proc /proc proc defaults 0 0


    Mein DHCP funktioniert wunderbar ... RPi bekommt IP (incl. TFTP-Server)

    Mein TFTP funktioniert wunderbar ... RPi zieht sich bootcode.bin und alles weitere (incl. kernel7.img)

    So jetzt zum problem:

    Mein NFS funktioniert in der Theorie auch wunderbar. Kann von anderen Clients (incl. meinem Macbook) das NFS-Root Mounten (in version 4), nur bricht der Bootvorgang mit folgendem Fehler ab:

    end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

    was kann ich tun? Woran liegt das?

    Ich habe nfs vers=3 auch schon versucht.

  • Moin 3x3cut0r,

    /nfsroot/raspberrypi/etc/fstab
    Code proc /proc proc defaults 0 0

    laut Doku der raspberrypi.org soll dort aber das

    Code
    10.42.0.211:/tftpboot /boot nfs defaults,vers=4.1,proto=tcp 0 0

    stehen. Wobei die IP natürlich passen sollte.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • ja du hast recht. das hatte ich schon probiert und dann passiert genau das gleiche.

    den Eintrag braucht man eigentlich nicht, da das boot Verzeichnis ja eh per tftp am Anfang gezogen wird und er ja erfolgreich booten kann. es scheitert nicht am boot Verzeichnis sondern am Rest.

    Ich glaube das sich hier etwas am Image/Kernel verändert hat warum das nicht klappt.

    Wie gesagt auf Arbeit klappts mit NFS 3 und einem Image von 2019 sehr gut.

    Vielleicht sollte ich es auch mal mit einem älteren Image probieren...

    also ich habe mittlerweile herausgefunden das es am NFS liegen muss. das gepostete image habe ich mal auf eine sd karte gehauen und mich per ssh auf den pi verbunden und versucht dann mal das nfs laufwerk zu mounten:

    Code
    mount -t nfs -o nfsvers=4.1,proto=tcp,port=2049 192.168.15.254:/nfsroot/raspberrypi /mnt
    mount.nfs: mounting 192.168.15.254:/nfsroot/raspberrypi failed, reason given by server: No such file or directory

    wenn ich alle ports auf mache (111, 2049, 32765, 32767 funktioniert es, da ich nun sehen kann das er ein fallback auf version 3 mache anscheinend.

    Code
    192.168.15.254:/nfsroot/raspberrypi on /mnt type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.15.254,mountvers=3,mountport=32767,mountproto=tcp,local_lock=none,addr=192.168.15.254)

    nun ja, sei es drum, dann halt mit nfs version=3.

    nun kommt aber folgender Fehler:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!