OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6935|回复: 4

linux开发板挂接网络根文件系统失败

[复制链接]

22

主题

69

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
303
金钱
303
注册时间
2019-11-10
在线时间
61 小时
发表于 2019-11-10 12:16:27 | 显示全部楼层 |阅读模式
1金钱
linux开发板挂接网络根文件系统失败:电脑端linux:主机ip地址:          192.168.1.101
linux开发板ip地址:               

1、可以挂接根文件系统
2、可以在根文件系统中挂接网络文件系统
3、无法使用网络根文件系统


内核信息
   Image Name:   Linux-5.2.11
   Created:      2019-11-03   2:22:50 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3136256 Bytes = 3 MiB
   Load Address: 30108000
   Entry Point:  30108000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK



情况如下:
1、使用u-boot正常进入内核之后,之前有使用的根文件系统
     1.1、文件系统可以正常ping通主机,不过需要先设置eth0
VFS: Mounted root (yaffs filesystem) on device 31:3.
Freeing unused kernel memory: 204K
This architecture does not have kernel memory protection.
Run /linuxrc as init process
init started: BusyBox v1.7.0 (2019-08-25 20:21:29 CST)
starting pid 43, tty '': '/etc/init.d/rcS'
random: fast init done
mount: mounting ztmpfs on /tmp failed: No such file or directory
/etc/init.d/rcS: line 9: cannot create /proc/sys/kernel/hotplug: nonexistent directory

Please press Enter to activate this console.
starting pid 48, tty '': '/bin/sh'
#
#


2、配置eth0
# ifconfig eth0 192.168.1.51
dm9000 dm9000 eth0: link down
# dm9000 dm9000 eth0: link down
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
dm9000 dm9000 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1


3、ping通主机
linux电脑端主机IP:192.168.1.101
ping 192.168.1.101
PING 192.168.1.101 (192.168.1.101): 56 data bytes
64 bytes from 192.168.1.101: seq=0 ttl=64 time=1.874 ms
64 bytes from 192.168.1.101: seq=1 ttl=64 time=1.652 ms
64 bytes from 192.168.1.101: seq=2 ttl=64 time=1.276 ms


3、可以在根文件系统下挂接网络文件系统:
# mount -t nfs -o nolock 192.168.1.101:/home/sambaShare/rootfs/busybox/fs_zdyz_rootfs /mnt
#
# cd /mnt/
# ls
bin      lib      mnt      root     sys      usr
dev      linuxrc  proc     sbin     tmp
#


4、如果在u-boot中设置参数,
setenv bootargs 'root=/dev/nfs rw nfsroot=192.168.1.101:/home/sambaShare/rootfs/busybox/fs_zdyz_rootfs ip=192.168.1.51:192.168.1.101:192.168.1.1:255.255.255.0::eth0ff console=ttySAC0'

5、启动内核:  显示信息如下
NET: Registered protocol family 10
Segment Routing with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
Loading compiled-in X.509 certificates
hctosys: unable to open rtc device (rtc0)
dm9000 dm9000 eth0: link down
dm9000 dm9000 eth0: link down
random: fast init done
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP-Config: Complete:
     device=eth0, hwaddr=c2:89:c9:94:a2:7b, ipaddr=192.168.1.51, mask=255.255.255.0, gw=192.168.1.1
     host=192.168.1.51, domain=, nis-domain=(none)
     bootserver=192.168.1.101, rootserver=192.168.1.101, rootpath=
dm9000 dm9000 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

之后就是一些错误信息,无法挂接到网络文件系统。

5.1、能在有根文件系统下面挂接网络文件系统
5.2、无法在u-boot中设置默认根文件系统参数,设置根文件系统为网络文件系统。

6、有坛友知道这个异常的原因吗?









异常信息:
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP-Config: Complete:
     device=eth0, hwaddr=c2:89:c9:94:a2:7b, ipaddr=192.168.1.51, mask=255.255.255.0, gw=192.168.1.1
     host=192.168.1.51, domain=, nis-domain=(none)
     bootserver=192.168.1.101, rootserver=192.168.1.101, rootpath=
dm9000 dm9000 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
0100            4096 ram0
(driver?)
0101            4096 ram1
(driver?)
0102            4096 ram2
(driver?)
0103            4096 ram3
(driver?)
0104            4096 ram4
(driver?)
0105            4096 ram5
(driver?)
0106            4096 ram6
(driver?)
0107            4096 ram7
(driver?)
0108            4096 ram8
(driver?)
0109            4096 ram9
(driver?)
010a            4096 ram10
(driver?)
010b            4096 ram11
(driver?)
010c            4096 ram12
(driver?)
010d            4096 ram13
(driver?)
010e            4096 ram14
(driver?)
010f            4096 ram15
(driver?)
1f00             512 mtdblock0
(driver?)
1f01             128 mtdblock1
(driver?)
1f02           16384 mtdblock2
(driver?)
1f03          245120 mtdblock3
(driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
CPU: 0 PID: 1 Comm: swapper Not tainted 5.2.11 #7
Hardware name: SMDK2440
Backtrace:
[<c0118ae4>] (dump_backtrace) from [<c0118d94>] (show_stack+0x18/0x1c)
r6:c0638ea8 r5:00000000 r4:c071f499
[<c0118d7c>] (show_stack) from [<c05806f0>] (dump_stack+0x20/0x28)
[<c05806d0>] (dump_stack) from [<c0124c94>] (panic+0xe4/0x2dc)
[<c0124bb4>] (panic) from [<c06b4348>] (mount_block_root+0x1c4/0x2b8)
r3:5323b251 r2:5323b251 r1:c3821ec0 r0:c0638ea8
r7:c309b000
[<c06b4184>] (mount_block_root) from [<c06b4698>] (mount_root+0x10c/0x138)
r10:00000097 r9:c06da838 r8:000003e8 r7:00000000 r6:0000001e r5:c06eb928
r4:00000000
[<c06b458c>] (mount_root) from [<c06b482c>] (prepare_namespace+0x168/0x1b8)
r8:00000000 r7:c06da830 r6:c06da858 r5:c06da858 r4:c071ef0c
[<c06b46c4>] (prepare_namespace) from [<c06b3f58>] (kernel_init_freeable+0x17c/0x1c0)
r6:c071eee0 r5:00000008 r4:c071eee0
[<c06b3ddc>] (kernel_init_freeable) from [<c059d664>] (kernel_init+0x10/0xfc)
r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c059d654
r4:00000000
[<c059d654>] (kernel_init) from [<c01090e0>] (ret_from_fork+0x14/0x34)
Exception stack(0xc3821fb0 to 0xc3821ff8)
1fa0:                                     00000000 00000000 00000000 00000000
1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
r4:00000000
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ]---






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2019-11-10 18:12:58 | 显示全部楼层
这问题还没遇到过,一般如果能在系统里面挂载nfs目录就应该没有问题的,在系统启动的log信息中看一下cmd line是多少
回复

使用道具 举报

22

主题

69

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
303
金钱
303
注册时间
2019-11-10
在线时间
61 小时
 楼主| 发表于 2019-11-10 23:28:59 | 显示全部楼层
zuozhongkai 发表于 2019-11-10 18:12
这问题还没遇到过,一般如果能在系统里面挂载nfs目录就应该没有问题的,在系统启动的log信息中看一下cmd li ...

理论上是可以的,至少证明了能够ping通主机,能够识别网络文件系统,网络文件系统的权限也开启了。我看了如果设置了eth0那么 dm900网卡才能够起来。我感觉除非是网卡没有起来。因为如果使用网络根文件系统,这个时候网卡没有启动的话,那么肯定是无法连接到主机的。我想在内核里面配置一下 ifconfig eth0 192.168.1.51 这种默认配置一个 ip。
回复

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2018-6-23
在线时间
24 小时
发表于 2020-2-4 15:20:23 | 显示全部楼层
这种问题一般是bootargs 设置的不对 需要仔细检查一下
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2020-10-20
在线时间
1 小时
发表于 2020-10-20 15:37:28 | 显示全部楼层
本帖最后由 firepig12345 于 2020-10-21 11:20 编辑

我也遇到这样的问题,后来解决了吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 18:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表