mini2440 nfs根文件系统支持
来源:互联网 发布:unity3d 联网游戏视频 编辑:程序博客网 时间:2024/04/29 09:18
内核版本:linux-2.6.32.2 实验平台:ubuntu 12.04 + mini2440
nfs文件系统称为网络文件系统,因为文件系统在宿主机中,这样在修改文件系统就非常方便,所以主要用于开发阶段使用。
1. 主机安装nfs服务
$ sudo apt-get install nfs-kernel-server
2. 主机端修改nfs配置文件
修改/etc/exports文件,添加如下内容:
#/home/tracy/work/mini2440/nfsroot 192.168.1.*(rw,sync,no_root_squash)/home/tracy/work/mini2440/nfsroot *(rw,sync,no_root_squash)
原意是想让192.168.1.*ip地址访问nfsroot,但是在本地测试时会出现这样一条信息:
mount.nfs: access denied by server while mounting 192.168.1.100:/home/tracy/work/mini2440/nfsroot
测试命令如下:
$ sudo mount 192.168.1.100:/home/tracy/work/mini2440/nfsroot /mnt/tmp
一时也没有找到问题所在,所以改成了所有ip地址都能访问nfsroot,再次测试时能够挂载成功。
3. 重启nfs服务
$ sudo service nfs-kernel-server restart
4. 内核配置
使用nfs服务,肯定需要网络的支持,所以首先需要使网络能够正常工作,可以参阅前面一篇文章,然后还需要nfs客户端的支持。
File systems --->[*] Network File Systems ---><*> NFS client support[*] Root file system on NFS
5. 在bootloader中设置内核启动的命令行参数
noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.1.100:/home/tracy/work/mini2440/nfsroot/rootfs ip=192.168.1.110:192.168.1.100:192.168.1.1:255.255.255.0::eth0:off
其中:
root表示使用/dev/nfs这个设备作为根文件系统。rw表示可读可写的。nfsroot表示服务器中rootfs所在路径,注意需要跟上服务器的ip地址。192.168.1.110是板子启动之后的ip地址。192.168.1.100是nfs服务器的ip地址。192.168.1.1是板子网关地址。255.255.255.0是板子子网掩码。eth0表示板子上的网络设备。off表示关闭动态获取ip地址。
注意:eh0前面有两个冒号,那是因为这里还可以填写一个板子的主机名,这里没有设置,所以为空。
6. 测试结果
将编译好的内核下载到板子上(不需要下载根文件系统,根文件系统在nfs服务器上),在测试之前还需要将rootfs复制到nfsroot目录下,给板子连上网线进行测试(使用的是mini2440自带的交叉网线连接到路由器上的),系统正常启动。使用nfs文件系统有什么好处呢,在开发阶段,如果需要修改文件系统内容,或者要往板子上传递文件,使用nfs文件系统是非常方便的,只需要在本地nfs服务器上修改文件系统就可以了。
注意:通过交叉网线与电脑直连的方式,系统也是同样能够启动的。
7. 使用nfs直接挂载nfs服务器上的目录
需要配置内核:
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 version 4 (EXPERIMENTAL)[*] NFS client support for NFSv4.1 (DEVELOPER ONLY)
上面这些都是需要内核支持的nfs协议,而之前的配置是支持nfs根文件系统。
烧写内核和根文件系统,启动板子,系统启动之后(首先需要设置板子的ip地址)调用如下命令进行挂载:
mount -o nolock -t nfs 192.168.1.100:/home/tracy/work/mini2440/nfsroot /mnt/tmp
注意一定要加上-o nolock,否则会挂在不上。
- mini2440 nfs根文件系统支持
- mini2440挂载NFS根文件系统
- mini2440 NFS挂载根文件系统
- TQ2440或MINI2440挂载NFS根文件系统教程
- mini2440下制作nfs启动的根文件系统
- 基于busybox制作mini2440根文件系统及使用nfs挂载
- mini2440 linux2.6 内核制作-nfs启动根文件系统
- mini2440 nfs+ramdisk+initramfs三种方法引导根文件系统
- Mini2440通过NFS加载内核与根文件系统
- 210支持nfs作为根文件系统启动
- 虚拟机通过把nfs作为根文件系统来启动mini2440开发板
- uboot,内核uImage,网络根文件系统nfs的搭建(基于友善mini2440)
- mini2440构建根文件系统
- 以nfs 方式加载mini2440内核及文件系统
- mini2440 uboot使用nfs方式引导内核,文件系统
- mini2440 uboot使用nfs方式引导内核,文件系统
- 关于mini2440挂载nfs文件系统一些错误的解决方法
- mini2440 -- 设置Kernel通过nfs方式启动文件系统
- 在 Linux 下安装 Matlab R2014a
- easyui的datebox格式化最简单方法
- curl 实现下载文件特定片段
- bnu 34990 Justice String ( 后缀数组 2014 北京邀请赛 J 题 )
- IOS-Storyboard控制器切换之Push(2)
- mini2440 nfs根文件系统支持
- 反射
- 使用图片做UIButton背景时扩大按钮的响应范围
- Valid Palindrome
- Implement strStr()
- 用SMO算法实现了SVM的感悟
- IOS-Storyboard控制器切换之TabBar(3)
- jQuery 手写js 登录验证功能
- String to Integer (atoi)