嵌入式nfs的安装配置和启动

  在调试开发板的过程中用nfs文件系统作为根文件系统启动,可以随时更新文件系统内的文件,非常的方便。这段时间工作用到了nfs根文件系统,这里做一下总结。

安装 配置:

aptitude install nfs-kernel-server

vim /etc/exports

这里面就是nfs的默认目录和相关属性

  • 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_squash           root用户具有根目录的完全管理访问权限
  • anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID
  • anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID
  • no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用。我在使用nfs的时候发现即使rw权限仍然不能在nfs根目录下创建文件,这个就需要这个参数

  •  
    root_squash:在登入NFS主機使用分享之目录的使用者如果是root时,那么这个使用者的权限將被压缩成为匿名使用者,通常他的UID与GID都会变成nobody那个身份;
    all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody。
    anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
    anongid:同anonuid ,但是变成group ID就是了!
    sync:资料同步写入存储器中。
    async:资料会先暂时存放在内存中,不会直接写入硬盘。
    insecure 允许从这台机器过来的非授权访问。


我添加了如下一句:

/home/work/nfsroot  *(rw,sync,no_root_squash)

说明我的nfs文件系统可读可写,并且数据是同步写入的。


然后重新启动一下nfs服务器。

service nfs-kernel-server restart


接下来就是要在开发板上启动挂载nfs了,首先要配置一下内核。

make menuconfig

File Systerm ---> Network File Systerm 下选中NFS file systerm support 更重要的是要选中 Root file systerm support。

这样内核就支持nfs启动了。

接下来最重要的就是内核参数了。

关于nfs的内核启动参数如下

root=/dev/nfs nfsroot=PC-ip:nfspath ip=local-ip:PC-ip:gateway:netmask:alias:net-port:off

gateway写成和PC-ip一样就可以。

比如我的参数如下:

root=/dev/nfs rw nfsroot=172.17.101.18:/home/work/nfsroot ip=172.17.101.190:172.17.101.18:172.17.101.18:255.255.255.0:ubuntu:eth0:off

这样启动nfs就自动挂载为根文件系统了。


这里有一个参数是rw,我发现不写这个参数nfs文件系统挂载默认为只读的,只能加rw。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值