一、NFS网络文件系统
NFS是Network FileSystem的缩写,NFS是基于UDP/IP协议的应用。它的最大功能就是可以通过网络让不同的机器,不通的操作系统彼此共享文件,
可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看做一个文件服务器。
通过NFS服务,我们可以实现在线调试文件系统或应用程序,而不用像传统的方式生成文件系统镜像,然后烧写到iTop-4412的eMMC里,在启动开发板。
通过NFS服务可以提高我们的调试效率。
Android或者Qt文件系统太大,启动过慢,最小linux系统却非常适合使用NFS网络文件系统来调试。
二、搭建NFS服务器
安装Ubunut NFS服务
-- apt-get install nfs-kernel-server
安装过程弹出对话,选择Y,回车继续安装
配置/etc/exports
-- 最后一行添加/home/minilinux/ *(rw,sync,no_root_squash)
-- /home/minilinux/表示要共享的目录,根据实际情况修改
-- *:代表允许所有的网络断访问
-- rw:是可读写权限
-- sync:是资料同步写入内存和硬盘
-- no_root_squash:是Ubunut nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限
重启portmap服务
-- /etc/init.d/portmap restart
重启nfs服务
-- /etc/init.d/nfs-kernel-server restart
测试NFS服务器
例如我们把/home/minilinux挂载到/mnt目录下
-- mount -t nfs localhost:/home/minilinux/system /mnt
-- 与明亮对应的是最小文件系统在/home/minilinux目录下,根据实际情况设置
使用df命令查看文件是否被挂载
三、内核配置
进入内核目录(),配置为QtE的config文件
-- cp -r config_for_linux_scp_elite.config
进入配置界面,配置内核
-- make menuconfig
“Networking support” -> "Networking options" -> 选上 "IP:kernel level autoconfiguration"
返回到make menuconfig的初始界面
-- "File systems" -> "Network File Systems"
-- 选中“NFS client support”, "NFS client support for NFS version 3", "NFS client support for the NFSv3 ACL protocol extension", "NFS client support for NFS version4", "NFS client support for NFSv4.1" , "Root file system on NFS"
返回到make menuconfig的初始配置界面
-- 进入"Boot options" -> "Default kernel command"
配置举例:
-- root=/dev/nfs rw nfsroot=192.168.1.103:/home/minilinux/system
ip=192.168.1.230:192.168.1.103:192.168.1.1:255.255.255.0:iTOP:eth0:off
rootfstype=ext4 init=/linuxrc console=ttySAC2,115200
- root=/dev/nfs rw nfsroot=192.168.1.103:/home/minilinux/system 表示挂载的nfs服务器ip 是192.168.1.103,挂载的目录是/home/minilinux/system
(注意:/home/minilinux/system 是前面我们搭建nfs 服务器设置的) - ip=192.168.1.230:192.168.1.103:192.168.1.1:255.255.255.0:iTOP:eth0:off 这里面,第一个ip192.168.1.230 是我们开发板的ip 地址,第二个
ip192.168.1.103 是nfs 服务器的ip,第三个ip192.168.1.1 是开发板的网关,
255.255.255.0 是子网掩码,iTOP 是开发主机的名字(一般无关紧要,可
以随便填写),eth0 是网卡设备的名称。
配置完毕后保存退出配置内核,编译内核,下载到开发板
注意下面几个参数
-- nfs服务器ip
-- 挂载目录
-- 开发板的IP地址
-- 开发板的网关
-- 子网掩码
原文地址:https://www.cnblogs.com/ch122633/p/9394045.html