PC的设置
-
PC机上安装NFS配置:
sudo apt-get install nfs-kernel-server
-
在/etc/exports尾加入共享目录:
/dir *(rw,sync,no_root_squash)
参数说明:
> - rw:读/写权限,只读权限的参数为ro;
> - sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
> - no_root_squash:NFS服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
-
重启NFS服务:
anzyelay@ubuntu:arm$ /etc/init.d/nfs-kernel-server restart
##开发板上的UBOOT设置
在uboot的启动参数bootargs中加入如下参数
root=/dev/nfs nfsroot=PC_IP:/共享目录 ip=板子IP:::::eth0
有时nfs的版本不对也无法启动,可以试着改下nfsvers参数(man nfs查看详情)
root=/dev/nfs nfsroot=PC_IP:/共享目录,proto=tcp,nfsvers=3,nolock ip=板子IP:::::eth0
nfs相关命令
exportfs
- maintain table of exported NFS file systems
exportfs -r
:Reexport all directories,更改etc/exports后同步刷新导出表exportfs -s
:显示当前导出表
问题
-
用buildroot制作好文件系统后,并使能了root无密码登录,在登录配置处不管设置密码和不设密码,root账户和非root账户,都无法正常登录。总是提示密码错误。但密码跟账户都是正确的。
试了下直接更改文件系统里的**/etc/inittab**的启动登录设置,设置为无用户后可以登录后,可以正常登录了。
##console::respawn:/bin/getty -L .... ##将上面的修改为如下 ::respawn:/bin/sh
但登录的同时也打印出ssh生成的KEY也无法保存,sshd无法正常启动等信息,在板子上修改文件重新打开依然不变,瞬间感觉应该是MOUNT的文件系统只能读不能写有关。
看了下nfs的配置文件rw是正常的,似乎是无法远程登录到root用户引起的。查了下原来NFS配置文件被我改成了/dir *(rw,sync,no_all_squash)
将no_all_squash改为no_root_squash后就正常了。