uboot下使用nfs网络下载kernel

提前说明:

1、我使用的虚拟机是Ubuntu20.04

2、阿尔法开发板必须使用靠近BD9的那个网口

3、网段根据自己实际情况去设置

板子的uboot下:

==> setenv ipaddr 192.168.1.100
==> setenv ethaddr 0:0c:29:c6:ff:c9(同网段要唯一)
==> setenv gatewayip 192.168.1.1
==> setenv netmask 255.255.255.0
==> setenv serverip 192.168.1.106(nfs服务器地址,用于下载zImage)

ipaddr 是开发板要设置的IP,注意不要与局域网的IP冲突

ethaddr 0:0c:29:c6:ff:c9  据说是网卡的MAC地址,咋来的不知道,反正在同网段要唯一,可以根据自己Ubuntu的MAC修改一下得到

gatewayip 网关

netmask 255.255.255.0 子网掩码

serverip  nfs服务器地址IP,就是Ubuntu的IP

Ubuntu20设置NFS服务:

$ sudo apt-get install nfs-kernel-server rpcbind
$ mkdir -p  /home/ckl/my_board/nfs
$ sudo vi /etc/exports

/etc/exports 内容:

# /etc/exports: the access control list for filesystems which may be exported
#		to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/home/ckl/my_board/nfs *(rw,sync,no_root_squash)

重启nfs服务:

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

从服务器下载镜像:

先将编译好的zImage 和 dtb 拷贝到:/home/ckl/my_board/nfs

使用板子下载: (下载地址:zImage:0x80800000       dtb:0x83000000)

==> nfs 0x80800000 192.168.1.106:/home/ckl/my_board/nfs/zImage

然后会遇到报错:

报错:Loading: *** ERROR: File lookup fail

 百度上说,是nfs版本不一致导致的,然后给出的方法是:

$ sudo vi /etc/default/nfs-kernel-server

将:RPCNFSDCOUNT=8

替换为:$ RPCNFSDCOUNT="-V 2 8"

确实是解决了,但是又遇到一个问题:

uboot使用nfs命令下载zImage下载到一半,卡住了

继续百度,又找到了解决方法:

之前说过:我用的是Ubuntu20,据说还是版本不一致问题)

解决:$ sudo vi /etc/hosts

最后一行增加:192.168.1.106 /home/ckl/my_board/nfs/

问题解决。但是我的问题又来了:如此以来,我以后如果经常使用Ubuntu20的nfs,岂不是要经常配置这个文件?或者需要将我的Ubuntu设置为静态IP?(嗯。。还应该再做一个Ubuntu设置静态IP的笔记)

后来咨询了大哥,原因是:ubuntu18.04及其以上只支持nfs 3和nfs 4,而uboot默认使用nfs 2

给的解决方法,可以同时解决上面的两个问题:(最优解

$ sudo vi /etc/default/nfs-kernel-server

最后一行加上: RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值