文章目录
前言
nfs 命令 :
nfs(Network File System)网络文件系统,通过 nfs 可以在计算机之间通过网络来分享资源, 比如我们将 linux 镜像和设备树文件放到 Ubuntu 中,然后在 uboot 中使用 nfs 命令将 Ubuntu 中 的 linux 镜像和设备树下载到开发板的 DRAM 中。这样做的目的是为了方便调试 linux 镜像和 设备树,也就是网络调试,通过网络调试是 Linux 开发中最常用的调试方法。 可以通过网络将编译好的 linux 镜像和设备树文件下载 到 DRAM 中,然后就可以直接运行。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Linux服务端开启NFS服务
1、安装NFS软件
使用如下命令安装 NFS 服务:
sudo apt-get install nfs-kernel-server rpcbind
2、创建的 nfs 文件夹供 nfs 服务器使用
等待安装完成,安装完成以后在用户根目录下创建一个名为“linux”的文件夹,以后所有 的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹
3、修改nfs配置文件
创建的 nfs 文件夹供 nfs 服务器使用,以后我们可以在开发板上通过网络文件系 统来访问 nfs 文件夹,要先配置 nfs,使用如下命令打开 nfs 配置文件/etc/exports:
sudo vi /etc/exports
打开/etc/exports 以后在后面添加如下所示内容:
/home/china/linux/nfs *(rw,sync,no_root_squash)
4、重启NFS服务
sudo /etc/init.d/nfs-kernel-server restart
二、开发板通过nfs加载内核、设备树、根文件系统
1、NFS常用场景
nfs 可以通过网络将编译好的 linux 镜像和设备树文件下载 到 DRAM 中,然后就可以直接运行。
我们一般使用 uboot 中的 nfs 命令将 Ubuntu 中的文件下载到开发板的 DRAM 中,在使用 之前需要开启 Ubuntu 主机的 NFS 服务,并且要新建一个 NFS 使用的目录,以后所有要通过 NFS 访问的文件都需要放到这个 NFS 目录中。
2、NFS使用方法
uboot 中的 nfs 命令格式如下所 示:
nfs [loadAddress] [[hostIPaddr:]bootfilename]
loadAddress 是要保存的 DRAM 地址,[[hostIPaddr:]bootfilename]是要下载的文件地址
这 里我们将正点原子官方编译出来的 Linux 镜像文件 zImage 下载到开发板 DRAM 的 0x80800000 这个地址处。
nfs 80800000 192.168.10.100:/home/china/linux/nfs/zImage
3、可能出现的问题及解决方案
可能会出现这种烧录不成功的情况
解决办法:
根据网上资料,主要原因是NFS版本不一致造成的,修改配置文件即可解决