文件系统的移植(二):nfs 文件系统

内 核 版 本:linux-3.0

u-boot版本:u-boot-2010.09

开发板型号:FL2440


        我们在上面移植了 initramfs 文件系统,并且已经成功运行了。下面我们开始移植nfs,之前开启PC 上的nfs 服务功能

确认并安装 NFS 服务依赖软件包。

        在使用 NFS 共享文件之前,我们首先使用rpm 命令确认我们安装了这些应用程序。如果没有安装,则从安装光盘中找到他们并安装,或者使用
yum 安装。下面显示我们在安装系统时,已经选择安装了NFS 服务相关软件。

        1、修改主机上的 NFS 配置文件,导出/home/lingyun/keyue目录使用NFS 共享:

[lingyun@localhost keyue]$ sudo vim /etc/exports

         重新启动 rpcbind 或portmap 和nfs 服务

         使用 root 权限运行“service nfs restart”命令重启NFS 服务,让其生效:

          使用service rpcbind status 命令和“service nfs status”命令查看相关服务的运行状态,同时可以使用“showmount –e”命令可以查看我们通过NFS 服务
共享的文件:

             测试 NFS 访问

[lingyun@localhost keyue]$ mkdir /mnt/ky-nfs/

[lingyun@localhost keyue]$ mount -t nfs 192.168.1.3:/home/lingyun/keyue /mnt/ky-nfs/ 

[lingyun@localhost keyue]$ mount



         这里我们先假定 PC 上的功能已经开启,同时在上面移植initramfs 文件系统时也完成了下面添加内核对nfs 的支持的前提下,我们先在上面
已经运行起来的环境中试着先看看开发板上的nfs 客户端功能是否支持:

         PC下/home/lingyun/keyue下的文件如下:

         注:/home/lingyun/keyue为挂载的目录。

         开发中挂载 PC 上的/home/lingyun/keyue下的文件如下

        由此可见,开发板和PC上的NFS服务已经启动。

        2、对根文件系统进行修改

                无修改

        3、添加内核对 nfs 的支持

              关掉上面的 initramfs 功能
              General setup --->

             开启 nfs 功能
                 Networking --->
                      Networking options --->


          File systems --->
                   Network File Systems --->

         修改Makefile

         [lingyun@localhost linux-3.0]$ vim Makefile

         修改195、196行

         编译[lingyun@localhost linux-3.0]$ make

         编译过程省略

         [lingyun@localhost linux-3.0]$ ls

         显示目录结果同移植(一)。

         ky-nfs.bin为编译好的内核。

    4 制作映像文件
        因为文件系统和内核是集成在一起的,所以不需要制作文件系统映像

    5 将文件系统烧入开发板

         5.1 设置启动参数

                [u-boot@keyue]# set bootcmd_rootfs 'nand read 30008000 100000 400000;bootm 30008000'

                [u-boot@keyue]# set bootcmd 'run bootcmd_rootfs'

                [u-boot@keyue]# set bootargs 'noinitrd console=ttyS0,115200 init=/linuxrc mem=64M loglevel=7 root=/dev/nfs rw nfsroot=192.168.1.3:/home/lingyun/keyue/rootfs_tree ip=192.168.1.111:192.168.1.3:192.168.1.1:255.255.255.0:localhost.com:eth0:off ' 

                [u-boot@keyue]# set bootargs_nfs 'noinitrd console=ttyS0,115200 init=/linuxrc mem=64M loglevel=7 root=/dev/nfs rw nfsroot=192.168.1.3:/home/lingyun/keyue/rootfs_tree ip=192.168.1.111:192.168.1.3:192.168.1.1:255.255.255.0:localhost.com:eth0:off '

                [u-boot@keyue]# set bkr 'tftp 30008000 ky-nfs.bin;nand erase 100000 400000;nand write 30008000 100000 400000'

                [u-boot@keyue]# save


                启动参数保存成功。

         5.2 将内核和文件系统烧入开发板

                [u-boot@keyue]# run bkr

                [u-boot@keyue]#boot

                烧录的过程省略,结果如下:

             至此,文件系统已经烧入开发板,可以看到自己制作的文件系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值