前提条件

假设您的主机PC运行的是Ubuntu 14.04.1 LTS或更高版本,并且与您的开发平台在同一个本地网络上;为了简单起见,我们假设网络上也有DHCP服务器。
如果使用Juno,请确保使用的是前端以太网端口。

设置NFS服务器

在主机上安装以下软件包:

sudo apt-get update && sudo apt-get install nfs-kernel-server rpcbind
切换到超级用户:
sudo su -

 创建一个根“/export/”目录,我们将使用它作为存放文件系统的目录:  

mkdir /export/

  设置文件系统的权限,并在'/etc/exports'文件末尾添加以下行:

/export/ *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

为了避免潜在的文件权限问题,我们将避免使用NFSv4。通过编辑' /etc/default/ ns -kernel-server',将默认值设置为NFSv3,如下所示:

# Number of servers to start up
# To disable nfsv4 on the server, specify `--no-nfs-version ' here
#RPCNFSDCOUNT=
RPCNFSDCOUNT="--no-nfs-version 4"

然后重启nfs-kernel-server服务:

service nfs-kernel-server restart

现在检查一下,“portmapper”、“nfs”和“mountd”都同时运行在“tcp”和“udp”上:

#rpcinfo -p
program vers proto port service
tcp portmapper
tcp portmapper
tcp portmapper
udp portmapper
udp portmapper
udp portmapper
udp status
tcp status
tcp nfs
tcp nfs
tcp nfs
tcp
tcp
udp nfs
udp nfs
udp nfs
udp
udp
udp nlockmgr
udp nlockmgr
udp nlockmgr
tcp nlockmgr
tcp nlockmgr
tcp nlockmgr
udp mountd
tcp mountd
udp mountd
tcp mountd
udp mountd
tcp mountd

接下来,将您需要的根文件系统提取到“/export/”目录中,也可以选择将其放在子目录中。在本例中,我们将根文件系统提取为“/export/juno/fs/”。

挂载主机目录到juno板

mount -t nfs 192.168.1.101:/export/  /mnt -o nolock

挂载完成以后你就可以在开发板上/mnt目录下看到主机/export目录下的内容,可以使用cp命令把主机/export目录下的内容拷贝到开发板上。

使用网络文件系统启动

打开Juno板并中断U-Boot的默认启动选择:

The default boot selection will start in   3 seconds

将主机PC的IP地址保存到“serverip”环境变量:

VExpress64# set serverip <host_pc_ip_address>
VExpress64# saveenv

接下来修改U-Boot的引导args,使用NFS找到根文件系统:

VExpress64# set origbootargs "$bootargs"
VExpress64# set bootargs "console=ttyAMA0,115200n8 root=/dev/nfs ip=dhcp nfsroot=${serverip}:/export/juno/fs rw rootwait earlyprintk=pl011,0x7ff80000 debug"
VExpress64# saveenv

然后重新启动juno板, 它应该会使用NFS找到根文件系统。
 恢复到默认启动行为的办法:

VExpress64# set bootargs "$origbootargs"

使用U-Boot的NFS(远程/网络用户空间)的更多相关文章

  1. 39.NFS(网络文件系统)

    要共享文件的主机都是Linux系统时推荐在客户端部署NFS 服务来共享文件. NFS(网络文件系统)服务可以将远程Linux 系统上的文件共享资源挂载到本地主机的目录上,从而使得本地主机(Linux ...

  2. NFS (网络文件系统)

    NFS (网络文件系统) https://www.cnblogs.com/wahaha02/p/9559345.html Linux网络文件系统的实现与调试 NFS协议 NFS (网络文件系统)不是传 ...

  3. window连接linux nfs服务器 —— 网络错误 53

    在度娘以"win7 nfs mount 网络错误 - 53"为关键字,翻了第一页,GG... 于是去找谷哥,第一页 [all variants] Get NFS working w ...

  4. 深入理解linux网络技术内幕读书笔记(三)--用户空间与内核的接口

    Table of Contents 1 概论 1.1 procfs (/proc 文件系统) 1.1.1 编程接口 1.2 sysctl (/proc/sys目录) 1.2.1 编程接口 1.3 sy ...

  5. mysql创建远程登陆用户并授权

    在创建安装微擎的过程中,针对第四步 创建远程登陆用户并授权        > grant all PRIVILEGES on database.* to root@'127.0.0.1'  id ...

  6. 用户空间网络提升 NFV 的性能

    本文是一篇翻译,翻译自https://software.intel.com/en-us/blogs/2015/06/12/user-space-networking-fuels-nfv-perform ...

  7. linux nfs远程挂载和卸载

    一.nfs远程挂载 1.首先确定服务端(实体挂载节点)的IP 2.通过cat  /etc/hosts 查看服务端的server name 3.mount -t nfs servername:/挂载文件 ...

  8. php实现远程网络文件下载到服务器指定目录(方法一)

    PHP实现远程网络文件下载到服务器指定目录(方法一) <?php function getFile($url, $save_dir = '', $filename = '', $type = 0 ...

  9. iOS 播放远程网络音乐的核心技术点

    一.前言 这两天做了个小项目涉及到了远程音乐播放,因为第一次做这种音乐项目,边查资料边做,其中涉及到主要技术点有: 如何播放远程网络音乐 如何切换当前正在播放中的音乐资源 如何监听音乐播放的各种状态( ...

随机推荐

  1. 【java并发容器】并发容器之CopyOnWriteArrayList

    原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容 ...

  2. C#语言最基础的认识变量

    变量是指一块存储数据的内存空间,并且该内存区域的数据内容可以发生变化. 变量是必须先声明后赋值. 基本的语法:数据类型+变量名: 变量名=数据: 简单的使用技巧:声明赋值简写 Static void ...

  3. Android Studio 快捷键整理

    Alt+回车 导入包,自动修正 Ctrl+N   查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如ge ...

  4. CNN结构:HSV中的饱和度解析

    参考:颜色的前世今生-饱和度 详解,划重点- 关键这个"纯"是指什么? 是指颜色明亮么?明度高的颜色看起来也明亮啊,不一定纯度高啊- 是说颜色鲜艳么?颜色 "不鲜艳&qu ...

  5. 11-c++虚拟函数

    虚拟函数 #include "stdio.h" class A{ public: void print() { printf("%s","this i ...

  6. JAR包中读取资源文件

    我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看 ...

  7. C#工具帮助类

    md5帮助类 .引入库 using System.Security.Cryptography;//引用Md5转换功能 .计算字符串的Md5值 public static string GetMD5Wi ...

  8. 18清明校内测试T3

    扫雷(mine) Time Limit:1000ms   Memory Limit:128MB 题目描述 rsy最近沉迷于一款叫扫雷的游戏. 这个游戏是这样的.一开始网格上有n*m个位置,其中有一些位 ...

  9. Django REST framework - 认证

    目录 认证 DRF 5种验证方式 如何确定身份验证? 设置身份验证方案 案例: 基于自定义Token认证 第一步: 定义一个用户表和一个保存用户Token的表 第二步: 定义一个登陆视图 第三步定义一 ...

  10. v$open_cursor中的相同record

    之前在查看v$open_cursor的时候,发现很多相同的record. 让我很疑惑, sid saddr sql_id 都相同,我就想 这不是一个cursor吗? 那为什么在open_cursor中 ...