快捷搜索:  汽车  科技

NFS在嵌入式开发中安装和使用(NFS在嵌入式开发中安装和使用)

NFS在嵌入式开发中安装和使用(NFS在嵌入式开发中安装和使用)注意:上面/home/tangyc是我的$HOME目录,换成你自己的目录/home/tangyc *(rw sync no_root_squash no_subtree_check)ubuntu安装nfs服务端安装方法:sudo apt-get install nfs-kernel-server nfs-common修改文件/etc/exports,在最后添加一行:

NFS在嵌入式开发中的使用场景:

1、使用nfs挂载ubuntu服务端目录方便文件传输和程序调试

2、uboot启动后,使用nfs读取kernel和挂载rootfs,方便kernel和rootfs调试

3、提取eMMC镜像时保存到nfs目录中,供产线离线烧录eMMC

ubuntu安装nfs服务端安装方法:

sudo apt-get install nfs-kernel-server nfs-common

修改文件/etc/exports,在最后添加一行:

/home/tangyc *(rw sync no_root_squash no_subtree_check)

NFS在嵌入式开发中安装和使用(NFS在嵌入式开发中安装和使用)(1)

注意:上面/home/tangyc是我的$HOME目录,换成你自己的目录

重启服务:

sudo /etc/init.d/nfs-kernel-server restart

本地测试,运行:

showmount -e

Export list for tangyc-VirtualBox:

/home/tangyc *

NFS在嵌入式开发中安装和使用(NFS在嵌入式开发中安装和使用)(2)

上面已经可以看出nfs共享文件夹/home/tangyc生效

开发板端nfs

编译nfs工具

yocto下编译nfs-utils使用:

bitbake nfs-utils

编译目录在

tmp/work/aarch64-poky-linux/nfs-utils/2.1.1-r0/image

板子下要用到如下的文件:

/sbin/mount.nfs、/sbin/mount.nfs4、/usr/lib/libtirpc.so.*

文件系统要有以上文件

否则出现错误:

mount: /mnt: bad option; for several filesystems (e.g. nfs cifs) you might need a /sbin/mount.<type> helper program.

也可以使用buildroot编译nfs-utils:

Target packages --->

Filesystem and flash utilities --->

[*] nfs-utils

将上面移植好的工具放到对应的目录下就可以挂载server端nfs目录了

开发板挂载NFS测试

开发板网线连接到主机ubuntu。ubuntu设置固定的IP地址192.168.2.2。开发板IP地址192.168.2.6,设置成同一网段并且可以相互ping通.

注意:开发板和pc机能相互ping通,说明物理连接没问题;如果ping不通虚拟机说明虚拟机有问题

在开发板端输入:

# mount -t nfs -o nolock 192.168.2.2:/home/tangyc/nfs /mnt

将主机端(192.168.2.2)共享目录/home/tangyc/nfs挂载到开发板的/mnt目录下,可以看到/mnt下已经能看到服务端文件了

NFS在嵌入式开发中安装和使用(NFS在嵌入式开发中安装和使用)(3)

卸载命令:

umount /mnt

如果mount出错:

mount.nfs: an incorrect mount option was specified

mount.nfs: Protocol not supported

说明协议不支持,查看下板子端nfs协议,如果是v4的

应该用(这里我们板子是v4的,所以有这个也能挂载上):

mount -t nfs -o nolock nfsvers=4 vers=4 192.168.2.2:/home/tangyc/nfs /mnt

如果是v3要用:

mount -t nfs -o nolock nfsvers=3 vers=3 192.168.2.2:/home/tangyc/nfs /mnt

猜您喜欢: