环境:win10

开发板:全志A33

Ubuntu版本:ubuntu-gnome-16.04-desktop-amd64,gnome版

-------------------------------------------------------------------------------------

IP地址:

PC:169.254.247.140

A33:169.254.247.139

Ubuntu:169.254.247.138

首先保证开发板和Ubuntu能互ping,具体配置见:A33-通过网线连接PC(Ubuntu、PC、A33).note

NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操作系统无关。

NFS分服务器和客户机,当需要使用远端文件时,只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下,操作远程文件与操作本地文件没有不同。NFS服务器所共享文件或目录记录在/etc/exports文件中。

嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFS root启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。

1. Ubuntu端启用NFS

1)安装NFS

执行:sudo apt-get install nfs-kernel-server

2)配置NFS

修改/etc/exports文件,在其中增加需要共享的NFS服务器目录。 一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行。

格式:NFS共享目录路径    客户机IP或者名称(参数1,参数2,...,参数n)

参数:

参数

说明

ro

只读访问

rw

读写访问

sync

所有数据在请求时写入共享

async

nfs在写入数据前可以响应请求

secure

nfs通过1024以下的安全TCP/IP端口发送

insecure

nfs通过1024以上的端口发送

wdelay

如果多个用户要写入nfs目录,则归组写入(默认)

no_wdelay

如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置

hide

在nfs共享目录中不共享其子目录

no_hide

共享nfs目录的子目录

subtree_check

如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)

no_subtree_check

不检查父目录权限

all_squash

共享文件的UID和GID映射匿名用户anonymous,适合公用目录

no_all_squash

保留共享文件的UID和GID(默认)

root_squash

root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squash

root用户具有根目录的完全管理访问权限

anonuid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的UID

anongid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的GID

这里设置/home/baoli/nfs 为共享目录,修改/etc/exports文件,增加:

/home/baoli/nfs *(rw,sync,no_subtree_check,no_root_squash,insecure)

保存退出。

重启portmap,执行:sudo service portmap restart

重启nfs,执行:sudo service nfs-kernel-server restart

2. 本机测试

执行:sudo mount -t nfs 127.0.0.1:/home/baoli/nfs /mnt

在nfs下执行:touch test

在/mnt下可看到新建的test文件。

3. 开发板测试

开发板通过网线连接到PC,配置好IP,且超级终端连接开发板。

1)挂载NFS共享目录

先在/mnt/下新建baoli_nfs 目录

执行:mount -t nfs 169.254.247.138:/home/baoli/nfs /mnt/baoli_nfs -o nolock

提示错误如下:

mount: mounting 169.254.247.138:/home/baoli/nfs on /mnt/baoli_nfs failed: Protocol not supported

原因:内核没有配置支持NFS client。

解决:配置内核重新烧录。

File systems ---> [*] Network File Systems --->NFS client support

烧写完内核镜像后,再次测试

执行:mount -t nfs 169.254.247.138:/home/baoli/nfs /mnt/baoli_nfs -o nolock

执行:ls /mnt/baoli_nfs 可查看到test文件。

2)测试:

在超级终端下:

切换到 /mnt/baoli_nfs ,执行vi test

输入hello world ,保存退出

在Ubuntu下:

切换目录到/home/baoli/nfs,执行vim test

可看到hello world

全志A33-ARM开发板通过NFS与Ubuntu共享文件相关推荐

  1. tiny6410开发板使用NFS访问Ubuntu主机

    riendlyArm官方推荐的tiny6410开发环境是Fedora9,相关的NFS配置也是基于Fedora9的,通过Superboot向Nand写入NFS启动参数的方法虽然很方便,但不便于理解NFS ...

  2. a33 linux 硬解码_全志A33 lichee 开发板 Linux中断编程原理说明

    开发平台 * 芯灵思SinlinxA33开发板 嵌入式linux 开发板交流 641395230 本节实验目标实现按键触发中断终端显示按键松开或按下 实验平台 芯灵思Sinlinx A33 开发板 s ...

  3. 在Vmware下linux与ARM开发板的NFS系统搭建【ZT】

    终于在Vmware下将arm_linux平台搭建好了,也不知道花了多少时间,查了多少资料.其实是很简单的,走了不少的弯路,现在总结下,希望对后学者有所帮助. 基本环境: 主机OS:Windows XP ...

  4. 【根文件系统 】开发板通过nfs挂载ubuntu上的根文件系统

    在此基础上制作可用的根文件系统:https://www.cnblogs.com/hengqiu/p/15908597.html 1.ubuntu搭建nfs服务器 sudo apt-get instal ...

  5. Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置

    Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置 第一步:在PC机安装Ubuntu18.04LTS 具体安装步骤参见上一篇文章 第二步:安装arm-linux-gcc交叉编 ...

  6. 全志A33驱动开发 之 LED操作

    全志A33驱动开发 之 LED操作 一.整体说明 二.注意事项 三.实现led驱动 1.源文件 2.Makefile文件 四.实现测试的应用程序 五.原理图 一.整体说明   本次使用的开发板是锐尔威 ...

  7. arm linux 核心板 制作,Linux下制作给ARM开发板使用的文件系统

    1.Busybox源码请网上自行下载,编译方法请参考百度. 2.交叉编译工具链的设置也请先设置好. 如果以上1.2没有问题,那么可以使用以下脚本,制作一个给ARM开发板使用的文件系统. 可以自行定制使 ...

  8. [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植

    文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...

  9. 应用QQ2440(s3c2440)ARM开发板驱动MMA7455加速度计的linux设备驱动编写

    课题水下机器人需要测定水下机器人的位姿,为此应用了加速度计MMA7455,该传感器可以用SPI或I2C读取数字信号到MCU. 驱动MMA7455在atmega128上已经实现,但是由于mega128的 ...

最新文章

  1. 静态页面公共部分的处理
  2. 哪吒票房逼近40亿,用python爬取哪吒短评分析
  3. Python-OpenCV 笔记3 -- 霍夫变换(Hough)
  4. win10 linux重置密码忘记了,忘记密码时如何重新设置Windows10密码
  5. 男人对待恋爱的不同阶段......
  6. jsf服务_使用JSF的面向服务的UI
  7. Python3 爬虫学习笔记 C07 【解析库 lxml】
  8. MySQL_自定义函数
  9. 基于JAVA+SpringBoot+Mybatis+MYSQL的家庭财务管理系统
  10. 2016年04月28日-统一沟通之OCS 2007 R2-公开课-通知
  11. 反汇编IDA WinDbg
  12. 西门子PLC多个CPU之间通讯简介
  13. 笔记本摄像头频闪频灭
  14. 程序设计思维与实践 Week15 作业
  15. grep正则表达式后面的单引号和双引号的区别?
  16. macOS 终端打开提示:zsh compinit: insecure directories
  17. 为什么网页游戏不停开新服务器,网页游戏为什么要不断开新服?
  18. Leetcode 408: Valid Word Abbreviation
  19. sudoku me_Sudoku,一个完整的MFC应用程序。 第7部分
  20. 实测办公场景下,国产远程控制软件的表现力如何?(技术解析)

热门文章

  1. Android广播机制:Broadcast
  2. 一步步学习ASP.NET MVC3 (10)——@Ajax,JavaScriptResult(1)
  3. 人工大脑项目 —— Nengo
  4. windows和linux双系统引导问题
  5. 如何更有效使用 Rational AppScan 扫描大型网站,第 2 部分: 案例分析
  6. 测试mysql连接服务器_实现服务器与数据库的连接
  7. fanuc系统ug后处理_UG新版后置post configurator后处理配置器之备刀(预选刀)换刀不输出T问题处理方法...
  8. 一键截图_教你一键为iPhone截图加上手机外壳,新技能快学起来!
  9. java系统系统异常处理,银行系统(Java)异常处理
  10. 上传到服务器gd不支持,安装dedecms出现GD不支持。我的php5.5的。怎么解决?