[英]Boot from NFS server with UBoot
我的 NFS 服务器有问题。 我基本上必须从 NFS 启动嵌入式处理器。 在 ubuntu 机器上,我只需将文件系统放在 /tftpboot 中,在 /etc/exports 中添加这一行:
/tftpboot *(rw,no_root_squash,no_all_squash,sync)
然后我执行了命令:
sudo /usr/sbin/exportfs -av
sudo /etc/init.d/nfs-server restart
但在嵌入式处理器上我收到此错误:
Looking up port of RPC 100003/2 on 192.168.2.11
Looking up port of RPC 100005/1 on 192.168.2.11
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
特别是线条
Looking up port of RPC 100003/2 on 192.168.2.11
Looking up port of RPC 100005/1 on 192.168.2.11
让我认为问题出在 NFS 服务器的配置上,有人可以帮助我吗?
我今天在 SUSE Leap 上安装旧的嵌入式设备和 NFS 服务器时遇到了完全相同的问题。 我嗅探了与 Wireshark 的通信,它让我知道出了什么问题。 在我的情况下,问题与“iptable filter ”和“NFS server version”有关:
解决1 :您可以检查NFS 服务器和 NFS 客户端的帖子 Iptables 规则
sudo iptables -A INPUT -s 172.17.200.26/16 -d 172.17.200.26/16 -p udp -m multiport --dports 10053,111,2049,32769,875,892,20048,950 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -s 172.17.200.26/16 -d 172.17.200.26/16 -p tcp -m multiport --dports 10053,111,2049,32803,875,892,20048,950 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -s 172.17.200.26/16 -d 172.17.200.26/16 -p udp -m multiport --sports 10053,111,2049,32769,875,892,20048,950 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -s 172.17.200.26/16 -d 172.17.200.26/16 -p tcp -m multiport --sports 10053,111,2049,32803,875,892,20048,950 -m state --state ESTABLISHED -j ACCEPT
解决2您可以查看: https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-nfs.html#sec-nfs-configuring-nfs-server
通过设置修改/etc/sysconfig/nfs在服务器上启用 NFS 版本 2:
NFSD_OPTIONS="-V2"
MOUNTD_OPTIONS="-V2
我希望它可以帮助某人,我在这个问题上浪费了几个小时
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.