开发板通过NFS挂载linux镜像、设备树、文件系统等步骤

文章目录

  • 前言
  • 一、Linux服务端开启NFS服务
    • 1、安装NFS软件
    • 2、创建的 nfs 文件夹供 nfs 服务器使用
    • 3、修改nfs配置文件
    • 4、重启NFS服务
  • 二、开发板通过nfs加载内核、设备树、根文件系统
    • 1、NFS常用场景
    • 2、NFS使用方法
    • 3、可能出现的问题及解决方案
    • 4、对比一下烧写的文件大小,确认烧写完整


前言

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)

开发板通过NFS挂载linux镜像、设备树、文件系统等步骤_第1张图片

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挂载linux镜像、设备树、文件系统等步骤_第2张图片
解决办法:
根据网上资料,主要原因是NFS版本不一致造成的,修改配置文件即可解决
开发板通过NFS挂载linux镜像、设备树、文件系统等步骤_第3张图片
开发板通过NFS挂载linux镜像、设备树、文件系统等步骤_第4张图片

4、对比一下烧写的文件大小,确认烧写完整

在这里插入图片描述

你可能感兴趣的:(研发避坑指南,linux,网络,arm开发,arm,ubuntu)