Linux NFS挂载文件系统失败

报错代码

[    2.678723] IP-Config: Complete:
[    2.683406]      device=eth0, hwaddr=42:bc:a7:d0:ff:c9, ipaddr=192.168.10.10, mask=255.255.255.0, gw=192.168.10.1
[    2.693601]      host=192.168.10.10, domain=, nis-domain=(none)
[    2.699611]      bootserver=192.168.10.100, rootserver=192.168.10.100, rootpath=
[    2.707865] ALSA device list:
[    2.709948]   No soundcards found.
[    2.716526]  mmcblk1: p1 p2
[  149.519106] VFS: Unable to mount root fs via NFS, trying floppy.
[  149.524322] VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
[  149.530953] Please append a correct "root=" boot option; here are the available partitions:

解决方法

1.查看NFS服务端是否配置正确

(1)使用showmount -e命令查看挂载目录是否正确
book@100ask:~$ showmount -e
Export list for 100ask:
/home/book/alientek_linux/nfs *
(2)ls -o 共享目录 命令查看共享目录是否赋予读写权限
book@100ask:~/alientek_linux$ ls -o nfs/
总用量 7872
-rwxrwxr-x  1 book   12332 Dec 21 10:02 ap3216cApp
-rw-rw-r--  1 book  227324 Dec 21 05:17 ap3216c.ko
-rwxrwxr-x  1 book   12220 Dec 17 11:15 ledApp
-rw-rw-r--  1 book  219780 Dec 18 00:04 led.ko
-rw-r--r--  1 root      45 Jan  1 10:03 modules.alias
-rw-r--r--  1 root      12 Jan  1 10:03 modules.alias.bin
-rw-r--r--  1 root       0 Jan  1 10:03 modules.builtin.bin
-rw-r--r--  1 root      20 Jan  1 10:03 modules.dep
-rw-r--r--  1 root     108 Jan  1 10:03 modules.dep.bin
-rw-r--r--  1 root       0 Jan  1 10:03 modules.devname
-rw-r--r--  1 root      55 Jan  1 10:03 modules.softdep
-rw-r--r--  1 root      49 Jan  1 10:03 modules.symbols
-rw-r--r--  1 root      12 Jan  1 10:03 modules.symbols.bin
drwxrwxrwx 13 book    4096 Jan 30 21:10 rootfs
-rw-rw-r--  1 book   74917 Dec 21 05:40 stm32mp157d-atk.dtb
-rw-rw-r--  1 book   74357 Dec 21 05:40 stm32mp157d-atk-hdmi.dtb
-rw-rw-r--  1 book   75209 Dec 21 09:42 stm32mp157d-atk-mipi.dtb
-rwxrw-rw-  1 book 7311904 Jan 30  2023 uImage
2.查看bootargs环境变量 命令是否写错

我的bootargs环境变量设置命令为:

setenv bootargs 'root=/dev/nfs nfsroot=192.168.10.100:/home/book/alientek_linux/nfs,proto=tcp rw ip=192.168.10.10:192.168.10.100:192.168.10.1:255.255.255.0::eth0:off'

uboot界面输入print bootargs命令查看

STM32MP> print bootargs
bootargs=root=/dev/nfs nfsroot=192.168.10.100:/home/book/alientek_linux/nfs/rootfs,proto=tcp rw ip=192.168.10.10:192.168.10.100:192.168.10.1:255.255.255.0::eth0:off
3.bootargs 环境变量没有传递给内核

bootargs 环境变量的值会传递给内核作为命令行(command line)参数, Linux 内核启动的时候会打印出命令行参数,有下图输出说明bootargs 环境变量已经正确传递给内核

4.根文件系统中dev文件下没有设置console和null节点(我遇到的)

使用下面命名在文件系统的/dev目录下生成console 和 null 节点

book@100ask:~/alientek_linux/nfs/rootfs/dev$ sudo mknod console c 5 1
[sudo] book 的密码: 
book@100ask:~/alientek_linux/nfs/rootfs/dev$ sudo mknod null c 1 3

参考文章:Linux根文件之系统制作流程

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值