为了开发板可以使用NFS文件系统,也为了开发板可以通过NFS引导Linux内核,首先,要把主机上的NFS开发环境搭建起来。下面就主要就配置NFS服务器:
1.首先,安装NFS服务器,客服断,映射端口;
$ sudo apt-get install nfs-kernel-server nfs-common portmap
|
sudo dpkg-reconfigure portmap #对Should portmap be bound to the loopback address? 选N
|
安装完成后重启portmap
$ sudo /etc/init.d/portmap restart
|
2. NFS服务器的配置
NFS的共享主要是通过/etc/exports这个配置文件控制的,每一行以要共享的目录的绝对路径开始,后跟允许访问的客户端,以空白分隔符分开。可以查看下面的例子:
/home/zfz/kernel/fs 10.27.10.48(rw,nohide,insecure,no_wdelay,sync,no_root_squash,subtree_check)
|
客户端可以使用主机明或者IP地址指定。在主机名中可以使用通配符(*),IP地址后也可以跟掩码段。客户端的说明后可在圆括号中加入一系列参数。注意,很重要的一点,不要在最后一个客户端声明的后面留下任何空白或者没关闭括号,因为空白都被解释成客户端的分隔符。
常用参数列表如下:
ro:只读访问
rw:读写访问
anonuid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的GID
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用户具有根目录的完全管理访问权限
重启NFS服务器:
#sudo service nfs-kernel-server restart
|
如果修改不exports 中的内容可以使用下面的命令,使其生效。
使用NFS时,最好关闭防火墙,或者打开32771, 111和2049端口。
配置好以后,可以在本机做个测试;
#sudo mount 10.27.10.48:/home/zfz/kernel/fs /mnt
|
可以使用df命令查看是否挂载成功:
ubuntu@root:/etc$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 11796328 10436744 760364 94% / udev 252764 232 252532 1% /dev none 252764 244 252520 1% /dev/shm none 252764 332 252432 1% /var/run none 252764 4 252760 1% /var/lock none 252764 0 252764 0% /lib/init/rw /dev/sda5 93307 51265 37225 58% /boot 10.27.10.48:/home/zfz/kernel/fs 11796352 10436736 760384 94% /mnt
|
看到红色字体,表示已经挂载成功了。
可以使用下面的命令就行卸载:
sudo umount 10.27.10.48:/home/zfz/kernel/fs
|
再用df命令进行查看
ubuntu@root:/etc$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 11796328 10436764 760344 94% / udev 252764 232 252532 1% /dev none 252764 244 252520 1% /dev/shm none 252764 332 252432 1% /var/run none 252764 4 252760 1% /var/lock none 252764 0 252764 0% /lib/init/rw /dev/sda5 93307 51265 37225 58% /boot
|
可以看到已经卸载成功。接下来就可以在u-boot中使用NFS命令进行下载操作了。