一.制作NFS网络根文件系统时,这个配置非常有必要
用网线将主机与开发板连接起来,主机开启nfs服务后,就可以像tftp一样传文件到开发板了,有的人会问,不如直接用tftp好了,但是nfs还可以挂载根文件系统啊!
pc端NFS服务器 ------>网线----------->开发板NFS客户端
1)sudo apt-get install nfs-kernel-server(安装nfs-kernel-server时,apt会自动安装nfs-common和portmap)
2)sudo mkdir /home/nfs 创建nfs共享目录
3)配置nfs sudo vim /etc/exports 在末尾一行加入/home/nfs *(rw,sync,no_root_squash,no_subtree_check)
4)注意:修改后,运行exportfs -rv 使配置文件/etc/exports 生效 ;设置 /home/nfs目录权限sudo chmod 777 /home/nfs -R
5)重启服务:#sudo /etc/init.d/rpcbind restart <---重启portmap,后面最新的版本都rpcbind重启
#sudo /etc/init.d/nfs-kernel-server restart <---重启nfs服务#
showmount -e <---显示共享出的目录/home/nfs *
6)现在可以在本机上试一下:sudo mount -t nfs localhost:/home/nfs /mntsudo mount 127.0.0.1:/home/nfs /mnt注:localhost为本机linux的IP地址
二.自动挂载两种方法
1)管理模式,vi /work/nfs_root/first_fs/etc/init.d/rcs,此目录名字节创建,添加在rcs脚本添加
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdey > /proc/sys/kernel/hotplug
mdev -s
其中mount -a将会去挂载/work/nfs_root/first_fs/etc/fstabp配置文件的所有挂载设置
2)设置环境变量
1)打开内核树上面的linux-2.6.22.6\Documentation文件夹,打开nfsroot.txt文本文件
[<server-ip>:]<root-dir>[,<nfs-options>]
<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
可以看到有这些nfsroot设置参数,根据实际设置参数,如我的开发板
set bootargs noinitrd root=/dev/mtdblock3 nfsroot=192.168.0.100:/work/nfs_root/first_fs ip=192.168.0.17:192.168.0.100:192.168.0.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
然后在uboot进行设置,其中开发板需要设置ip、服务ip(配置nfs服务的pc),然后设置ifconfig eth0 xxxx(主机ip地址)
这样就可以自动挂载了