安装nfs服务,实现远程挂载文件系统

  • 服务端(PC Ubuntu16.04

  • 安装nfs服务
sudo apt-get install nfs-kernel-server
  • 修改配置文件
sudo gedit /etc/exports

主要添加共享的文件目录,添加一句:

/home/ws/nfs-share *(rw,sync,no_root_squash)

表示共享/home/ws/nfs-share目录,*表示所有IP地址,rw:表示可读可写,sync:同步,no_root_squash:不降低root用户的权限

 

  • 重启nfs服务
sudo /etc/init.d/nfs-kernel-server restart

 

  • 客户端配置(开发板BBB

开发板中uboot启动时,连续按下空格键来打断uboot自动引导,切换到命令交互终端,对一些参数进行配置。最后执行nfsboot命令,相当于启动配置好的脚本。具体配置说明参考下面的博客:

https://blog.csdn.net/zy812248258/article/details/39291835

server_ip:

表示TFTP、NFS服务器的IP地址,nfsboot会执行将server_ip赋值给serverip

root_dir:

PC端NFS服务器的目录,我设置的是/media/ws/Extend/nfs-share

client_ip:

开发板的IP地址,必须与PC接在同一个局域网中。

gw_ip:

网关IP,默认就行,一般局域网网关IP都是192.168.1.1

Netmask:

子网掩码,保证目标机和开发板处于同一网段即可,默认设置

device=eth0:

网卡名,u-boot默认已经设置好,设置为开发板的第一块以太网网卡,故此项无需设置

autoconf=off

自动配置未明确指定参数的方式,可以是dhcp, rarp, bootp。如果不希望使用自动配置则可以使用off值来关闭,保留默认设置

loadaddr=0x82000000:

我觉得是内核镜像在内存中加载的地址,理解不一定对,保留默认设置。

bootfile=zImage:

内核镜像文件名,保留默认设置,如果想用其他名字自己,保证TFTP服务器目录下的文件名与此保持一致,否则会找不到内核

fdtaddr=0x88000000

我觉得是设备树文件在内存中加载的地址,理解不一定对,保留默认设置。

fdtfile=undefined

设备树文件的名称,设备树必须放在dts文件夹下,因为nfsboot脚本中代码为

tftp ${fdtaddr} dtbs/${fdtfile}。

 

在终端输入如下参数设置(根据自己情况而定):

setenv server_ip  192.168.1.108

setenv client_ip  192.168.1.109

setenv gw_ip  192.168.1.1

setenv root_dir  /media/ws/Extend/nfs-share

setenv fdtfile  am335x-boneblack.dtb

setenv autoconf  off

run nfsboot

便可以看到系统启动完成,启动后直接是root权限了,sudo命令没用了:

如果哪儿设置的不对,在DHCP那儿卡住,然后显示无法加载根文件系统,那时候就需要回过头看一下配置的对不对。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值