采用 NFS 实现远程挂载,ARM 开发板可以直接运行主机上的程序,而不需要下载到开发板上。
1、查看开发板 Linux 内核是否支持 NFS
执行 cat /proc/filesystems , 若有一行为 nodev nfs 则开发板 Linux 内核支持 NFS,反之需要配置内核;也可以使用动态模块的形式编译。
2、主机安装 nfs 服务
sudo apt-get install nfs-kernel-server
配置 nfs 输出目录:
vim /etc/exports
在该文件中添加一行:
/home/user *(rw,sync,no_root_squash) # 根据实际情况修改 /home/user 为想要的路径就行了
-
* 表示任意 IP 地址的主机,如果是 192.168.1.100,就表示只允许 192.168.1.100 挂载。
-
rw: 可擦写的权限 ,ro: 只读的权限。
-
sync: 资料同步写入到内存与硬盘当中 ;async: 资料会先暂存于内存当中,而非直接写入硬盘。
-
no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份。
主机启动NFS服务:
sudo service nfs start
或者
sudo service nfs-kernel-server restart
3、在开发板上挂载主机上的文件夹
mkdir /mnt/nfs
mount -t nfs -o nolock 172.16.9.93:/home/matt /mnt/nfs
172.16.9.93 是主机 IP,/home/user/test 是主机共享目录,/mnt 表示将该共享目录挂载到 ARM 开发板 /mnt 目录下。
错误:
mount: wrong fs type, bad option, bad superblock on...
解决方法:
sudo apt-get install nfs-common
|