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根据你实际情况来定。 好了,所有工作都做完了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐