现在的位置: 首页 > 综合 > 正文

nfs挂载android根文件系统

2013年08月17日 ⁄ 综合 ⁄ 共 1691字 ⁄ 字号 评论关闭

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的制作请参考文章http://zhougaofeng.ixiezi.com/2010/03/02/android%e7%9a%84%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%bb%93%e6%9e%84%e5%8f%8a%e5%85%b6%e5%bc%95%e5%af%bc%e8%bf%87%e7%a8%8b/

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根据你实际情况来定。

好了,所有工作都做完了

抱歉!评论已关闭.