开发板通过NFS挂载访问linux(虚拟机)主机中内容

在嵌入式linux开发中,需要在linux主机中为开发板编写程序代码,然后编译程序,生成的程序是要传输到开发板上才能调试、运行。通过NFS,linux主机可以将自己系统中某个指定目录通过网络共享给开发板。开发板可以直接运行存放于Linux主机共享目录下的程序。

下面用一个例子说明如何操作,该例将linux主机中/nfsroot下的目录文件挂载到开发板中/mnt的目录下,即使得在开发板中可以访问linux主机中/nfsroot中的内容。

操作步骤:

1、在linux主机中安装NFS软件包:

在linux主机终端输入下面命令安装NFS:

sudo apt-get install nfs-kernel-server #安装NFS服务器
sudo apt-get install nfs-common #安装NFS客户端

2、添加NFS共享目录:

安装完NFS后,需要指定用于共享的NFS目录,此例中即为linux主机的/nfsroot目录。方法是在linux主机的"/etc/exports"文件里面设置对应的目录及相应的访问权限,每一行对应一个设置。下面介绍如何添加NFS共享目录。

在linux主机终端输入指令:

sudo vi /etc/exports
打开exports文件,在该文件末尾添加下面的一行:

/nfsroot  *(rw,sync,no_root_squash)
其中'*'表示允许任何网段IP的系统访问该NFS目录。添加完成后,文件内容如下:

3、为/nfsroot目录设置最宽松的权限:

sudo chmod -R 777 /nfsroot
sudo chown -R nobody /nfsroot

4、执行如下命令,启动NFS服务:

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

执行如下命令,可以重启NFS服务,也可以通过重启linux主机来实现:

在NFS服务已经启动的情况下,如果修改了"/etc/exports"文件,需要重启NFS服务,以刷新NFS的共享目录。

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

当然在下一次启动系统时,NFS服务是自动启动的。

5、在开发板上进行挂载测试:

首先通过ifconfig命令查看主机linux IP地址为192.168.36.132。


然后确保开发板与linux主机的网路是畅通的。在开发板终端下使用如下命令将linux主机的/nfsroot目录中的内容挂载到开发板/mnt下:

sudo mount -t nfs 192.168.36.132:/nfsroot /mnt -o nolock

将在开发板的/mnt目录下看到linux主机/nfsroot中的内容。


PS:大家有什么遇到的问题,欢迎留言,一起讨论。

发布了22 篇原创文章 · 获赞 16 · 访问量 6万+
展开阅读全文

开发板无法挂载nfs,求大神指点

01-11

没有用虚拟机,ubuntu 17.10系统,开发板通过tftp从主机载入设备数文件和内核文件, 启动以后通过nfs挂载根文件系统。。。然而。。实现不了 打印信息是这样的: VFS: Unable to mount root fs via NFS, trying floppy. [ 100.375000] VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6 [ 100.385000] Please append a correct "root=" boot option; here are the available partitions: [ 100.390000] b300 3817472 mmcblk0 driver: mmcblk [ 100.395000] b301 2114343 mmcblk0p1 00000000-01 [ 100.405000] b302 309507 mmcblk0p2 00000000-02 [ 100.410000] b303 1051578 mmcblk0p3 00000000-03 [ 100.415000] b304 309507 mmcblk0p4 00000000-04 [ 100.420000] b318 512 mmcblk0rpmb (driver?) [ 100.425000] b310 4096 mmcblk0boot1 (driver?) [ 100.430000] b308 4096 mmcblk0boot0 (driver?) [ 100.435000] b320 7761920 mmcblk1 driver: mmcblk [ 100.440000] b321 7757824 mmcblk1p1 00000000-01 [ 100.445000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) [ 100.445000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.25 #1 [ 100.445000] [<c0014294>] (unwind_backtrace) from [<c0011368>] (show_stack+0x10/0x14) [ 100.445000] [<c0011368>] (show_stack) from [<c0405abc>] (dump_stack+0x64/0xb4) [ 100.445000] [<c0405abc>] (dump_stack) from [<c0402f4c>] (panic+0x8c/0x1dc) [ 100.445000] [<c0402f4c>] (panic) from [<c05a8038>] (mount_block_root+0x188/0x234) [ 100.445000] [<c05a8038>] (mount_block_root) from [<c05a82b8>] (mount_root+0xe8/0x108) [ 100.445000] [<c05a82b8>] (mount_root) from [<c05a8438>] (prepare_namespace+0x160/0x1c4) [ 100.445000] [<c05a8438>] (prepare_namespace) from [<c05a7cd4>] (kernel_init_freeable+0x180/0x1c8) [ 100.445000] [<c05a7cd4>] (kernel_init_freeable) from [<c040223c>] (kernel_init+0x8/0xe4) [ 100.445000] [<c040223c>] (kernel_init) from [<c000e5b8>] (ret_from_fork+0x14/0x3c) [ 100.445000] drm_kms_helper: panic occurred, switching back to text console 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览