Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3517053
  • 博文数量: 864
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10634
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(864)

文章存档

2023年(1)

2021年(1)

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: Java

2010-10-19 18:00:47

手头上是块Marvell的板子,flash只有64M,想把Android的文件系统(>70M)放进去那是不可能了,除非大面积裁剪系统。所以 只能将Android的文件放在外部存储器或者通过网络文件系统挂载启动,花了一天研究一下用nfs挂载Android的根文件系统,在此总结下:

1、在主机(server)上安装和配置NFS

安装nfs服务软件
$sudo apt-get isntall nfs-kernel-server

修改nfs配置文件/etc/exports
$sudo emacs exports
添加下面一行到文件中:
/srv            *(rw,sync,no_root_squash,no_subtree_check)
/srv是你允许客户机访问的文件路径,*是你允许的客户机IP或机器名(用*表示全体客户都可以访问),()中的参数是访问控制方式:
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_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID

启动nfs服务
$sudo /etc/init.d/portmap restart
$sudo /etc/init.d/nfs-kernel-server restart

测试nfs服务
$showmount -e
Export list for user:
/srv *

好了到此nfs 的安装和配置工作已经完成,除了可以挂载Android的根文件系统外,我们也可以用一下命令将共享文件挂载到本地磁盘上:
$ sudo mount -t nfs localhostip:/srv /mnt/disk
可以运行mount命令查看是否挂载成功。查看后可以使用以下命令卸载:
$ sudo umount /mnt

2、在/srv中创建和制作android根文件目录
$ sudo mkdir nfs
$sudo mv /root_nfs/* /srv/nfs
关于root_nfs的制作请参考文章

3、设置u-boot和kernel command参数
>>setenv ipaddr 192.168.1.101
>>setenv serverip 192.168.1.100
>>setenv bootargs root=/dev/nfs rootfstype=nfs rsize=1024,wsize=1024 nfsroot=${serverip}:/srv/nfs/ ip=${ipaddr}:${serverip}::255.255.255.0::eth0:on console=ttyS0,115200 init=/init android video=dovefb:lcd0:1024x600-16@60,lcd1:1024x768-16@60 clcd.lcd0_enable=1 clcd.lcd1_enable=0 pm_disable
>>saveenv
ip和nfsroot根据你实际情况来定。

好了,所有工作都做完了
>>boot享受你的成果吧。
阅读(1769) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~