使用U-Boot的NFS(远程/网络用户空间)

时间:2022-09-04 20:58:52

前提条件

假设您的主机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&period;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网络技术内幕读书笔记&lpar;三&rpar;--用户空间与内核的接口

    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实现远程网络文件下载到服务器指定目录&lpar;方法一&rpar;

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

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

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

随机推荐

  1. mac系统下mysql开机启动总是3307

    修改了mysql的my.cnf可还是不行,启动后就是3307,必须关掉再启动. 觉得可能是mac系统在哪里写死了开机启动项. http://queforum.com/mysql/1012987-mys ...

  2. ping &amp&semi; tracert over TCP

    偶然发现还有这样的工具: 通过TCP协议实现ping和tracert. 之前一直苦恼无法通过ping的方式测试被q网站, 现在有了这两个工具后就方便了. [Windows] tcping: http: ...

  3. mysql 创建用户并赋予权限

    mysql> create user 'zhangsan'@'localhost' identified by '123456'; Query OK, 0 rows affected (0.00 ...

  4. Zend Studio 12&period;0&period;2正式版发布和破解方法,zend studio 12&period;0&period;1汉化,相式设置为Dreamweaver,空格缩进为4个&comma; 代码默认不折叠的设置&comma;Outline中使用的图形标志&comma;代码颜色之eot设置。

    背景:zend studio 12.0.2 修复了一个12.0.1的:  Fixed problem with referenced variables marked as undefined,我都说 ...

  5. npm详解

    一.npm介绍及安装 对于npm,大家多多少少都用过,作为一门技术,我想写篇博客记录一下,一起分享,一起学习. npm,是Node Package Manager的缩写,node的模块管理器,它是随同 ...

  6. 关于delete使用limit的一些注意事项

    在使用delete删除记录时,如果表里面存在多条相同的记录,但是此刻你只想删除一条记录,那么limit就派上了用场.但是使用limit的时候得注意: 如图,您如果想着删除第一个名字叫做张三的,如果你这 ...

  7. nagios与zabbix对比

    nagios与zabbix对比 web功能: Nagios简单直观,报警与数据都在同一页面,***.红色即为问题项.Nagios web端不要做任何配置. Zabbix监控数据与报警是分开的,查看问题 ...

  8. C&plus;&plus;遍历二维数组的四种方法

    #include <iostream> using std::cin; using std::cout; using std::endl; using std::string; using ...

  9. egg&period;js异步请求数据

    之前已经简单的使用egg-init初始化项目,并创建控制器controller和服务service 在实际项目中, service主要负责数据的请求,并处理(http请求) controll主要负责获 ...

  10. Silverlight设计器——Path

    如下图,在设计一个InfoWindow的时候,顶栏的关闭按钮没有出现.观察了半天,也没有弄明白.无意中,拖动一个几乎透明的信息框,突然就出现了关闭的按钮.原来,那个信息框只是一个Path,它遮住了关闭 ...