设置BootLoader环境变量,通过NFS挂载文件系统

内核选项:

 

内核支持NFS分区(即编译时在File system中选中[*] Root file system on NFS),

内核IP_PNP(即编译时在Networking中选中[*] IP: kernel level autoconfiguration)
    File systems  --->
        Network File Systems  --->
            <*> NFS file system support                        ## 必选
                [*]   Provide NFSv3 client support             ## 可选
            [*] Root file system on NFS                        ## 必选
    Networking  --->
        [*] Networking support
            Networking options  --->
                [*]   IP: kernel level autoconfiguration       ## 必选

***************************************************************************

 

配置NFS服务

 

$ ln -s /var/rootfs/rootfs_xxx  /home/usr/rootfsln    ## 建立NFS服务目录软连接
$ su - root                                                                ## 切换到root用户,需要密码
# echo "/home/user/rootfsln  172.4.3.*(rw,sync,no_root_squash)" > /etc/exports     ## NFS 服务配置
# service portmap restart
# service nfs          restart
# exportfs -arv        ## 修改的NFS配置生效(exportfs参数顺序不一样,显示有所不同,此顺序显示结果明了)
# exit

 

设置uboot环境变量:


uboot启动后按键进入uboot命令行环境:
=> set serverip     172.4.3.126                 ## 主机地址
=> set ipaddr        172.4.3.129                 ## 实验板地址

=> set gateway    172.4.3.1
=> set netmask    255.255.255.0
=> set netdev       eth0                                 ## eth0
=> set hostname  dm365
=> set kernaddr    0x80700000                     ## flash中内核起始地址
=> set rootpath /home/user/rootfsln      ## NFS服务根目录
=> setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=ttyS0,115200
=> bootm $kernaddr
           

 

同样可以简化操作(测试nfs服务软连接目录):
=> cp.b fef50000 40000 20000; go 40004        ## 驱动vsc7385芯片
=> setenv ipaddr 59.64.155.244
=> setenv bootargs root=/dev/nfs rw nfsroot=59.64.155.122:/home/liuby/rootfsln ip=59.64.155.244:59.64.155.122:255.255.255.0 console=ttyS0,115200
=> bootm fe810000            ## 内核镜像uImage在FLASH中的存储地址

************************

 

利用软连接:

 

如果想用不同的文件系统,可以改变这个软连接指向新的文件系统,这比复制文件系统或者修改u-boot环境变量方便多了,并且还不用重新配置/etc/exports。
# echo "/home/user/rootfsln 172.4.3.*(rw, sync, no_root_squash)" > /etc/exports
$ rm -f /home/user/rootfsln
$ ln -s nfs_rootfs_dir_path  /home/user/rootfsln            ## 只需要建立和修改这个软连接即可
# exportfs -arv            ## 配置生效(必须)
在uboot环境变量中只需设置一次rootpath=/home/user/rootfsln, 每次只需在主机上修改此软连接的指向,即可
注意权限

你可能感兴趣的:(BootLoader)