IMX6ULL 移植篇-uboot 网络命令NFS

一.  uboot 网络操作命令

本文介绍 nfs 命令的使用,具体是:通过 NFS服务向开发板下载 zImage内核镜像文件。

二.  nfs 命令

nfs命令使用的目的:为了方便开发板调试。

nfs(Network File System) 网络文件系统,通过 nfs 可以在计算机之间通过网络来分享资源,

例如,我们将 linux 镜像和设备树文件放到 Ubuntu 中,然后在 uboot 中使用 nfs 命令将 Ubuntu 中

的 linux 镜像和设备树下载到开发板的 DRAM 中。

我们在使用之前,需要开启 Ubuntu 主机的 NFS 服务,并且要新建一个 NFS 使用的目录,以后所有要通过 NFS 访问的文件都需要放到这个 NFS 目录中。

uboot 中的 nfs 命令格式如下所示:

nfs [loadAddress] [[hostIPaddr:]bootfilename]

1.  NFS 下载

NFS 操作如下:

前提:开发板的  uboot命令模式下,可以 ping Ubuntu系统 。

(1)  首先,将 "系统镜像\教程系统镜像\kernel镜像" 目录下的 zImage文件(即内核文件)拷贝到 ubuntu系统的目录:/home/wangtian/nfs_File。

(2)  其次,启动 ubuntu系统的 nfs服务。ubuntu系统控制台输入命令,操作如下:

wangtian@wangtian-virtual-machine:~/nfs_File$ sudo /etc/init.d/nfs-kernel-server restart
[sudo] wangtian 的密码: 
Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
wangtian@wangtian-virtual-machine:~/nfs_File$ 

(3)  开发板进入 uboot的命令模式,开发板的调试串口输入命令,如下:

=> nfs 80800000  192.168.1.66:/home/wangtian/nfs_File/zImage
Using FEC1 device
File transfer via NFS from server 192.168.1.66; our IP address is 192.168.1.50
Filename '/home/wangtian/nfs_File/zImage'.
Load address: 0x80800000
Loading: *** ERROR: File lookup fail

可以看出,内核镜像文件 zImage文件下载失败。通过百度搜索,很多人说导致这个原因是:

开发板的 NFS版本与 ubuntu的NFS版本不兼容,开发板NFS的版本低于 ubuntu的NFS。

2.   解决NFS版本不兼容

解决方法:使 ubuntu系统的NFS兼容 开发板上的NFS版本。

具体更改如下:

(1)  进入 ubuntu系统,更改 /etc/default/nfs-kernel-server文件。

ubuntu的终端输入命令,如下:

wangtian@wangtian-virtual-machine:~$ sudo vim /etc/default/nfs-kernel-server 

更改如下,更改完后,保存退出。如下所示:

 

(2)  重启NFS服务器。ubuntu系统终端输入如下命令:

wangtian@wangtian-virtual-machine:~$ sudo service nfs-kernel-server restart

3.  重新下载

通过NFS下载 zImage 到开发板

开发板 uboot命令模式下,输入如下命令,进行下载:

=> nfs 80800000 192.168.1.66:/home/wangtian/nfs_File/zImage
Using FEC1 device
File transfer via NFS from server 192.168.1.66; our IP address is 192.168.1.50
Filename '/home/wangtian/nfs_File/zImage'.
Load address: 0x80800000
Loading: #################################################################
	 #################################################################
	 ###############################################################
done
Bytes transferred = 983040 (f0000 hex)

以上输出信息,可以看出: 向开发板下载成功 zImage 文件。

猜你喜欢

转载自blog.csdn.net/wojiaxiaohuang2014/article/details/131562462