linux开发版nfs加载根文件系统

24 篇文章 1 订阅

设置windows、linux和开发板能够相互ping通

1、vmware中的ubuntu设置。

1.1 首先设置虚拟机,设置为桥接模式,然后选择PCIE相关选项。

在这里插入图片描述
在这里插入图片描述

1.2设置ubuntu

在这里插入图片描述
设置ubuntu的ip地址和子网掩码。ip地址和window的ip地址在一个地址段内。
在这里插入图片描述

1.3 设置好ubuntu中需要开发版使用的文件系统目录,然后启动nfs服务。

相关内容请看链接: Ubuntu16.04安装NFS.

sudo /etc/init.d/nfs-kernel-server restart

2、windows设置

2.1 设置windows的ip地址

在这里插入图片描述
右键点击设置属性,按照如下步骤设置相关ip和子网掩码。确保ip和linux的ip在一个地址段内。
在这里插入图片描述

2.2 关闭window的防火墙

在这里插入图片描述

3、开发版设置

进入开发版的uboot中,设置bootargs和ipaddr和serverip。其中bootargs设置使用网络文件系统启动。
注意:确保使用的uboot支持网络加载根文件系统。

ipaddr=192.168.1.102
bootargs=noinitrd root=/dev/nfs nfsroot=192.168.1.101:/home/fs_mini_mdev ip=192.168.1.102:192.168.1.101:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
serverip=192.168.1.101

确保ipaddr设置的和windows和linux的ip地址在同一个地址段内。

4、测试连接

4.1在uboot中ping windows和linux,确保能够ping通。

在这里插入图片描述

4.2在windows中ping linux,确保能够ping通

在这里插入图片描述

4.3在linux中ping windows确保能够ping通

在这里插入图片描述

5、可能出现的问题

Linux通过nfs挂载根文件系统失败:VFS: Unable to mount root fs via NFS, trying floppy.

可能是Ubuntu版本太新了,不兼容导致。

查找资料发现从Ubuntu17.04开始,nfs默认只支持协议3和协议4,而kernel中默认支持协议2,所以才会出现挂载失败的情况,现有两种方法可以解决该问题:

  1. 设置Ubuntu18.04系统中的nfs服务支持协议2,修改nfs配置文件 /etc/default/nfs-kernel-server,在文件末尾加入一句:RPCNFSDOPTS="–nfs-version 2,3,4 --debug --syslog"。

  2. 如果kernel版本较高支持nfs协议3的话,可以在Uboot传到Kernel的bootargs参数中加入’nfsvers=3’,使kernel使用nfs协议3。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值