• 4.根文件系统挂载


              根文件系统挂载

      根据存储设备的硬件特性、系统需求,不同的文件系统类型有不同的应用场合。在嵌入式 Linux 应用中,主要的存储设备为 RAM 和 FLASH,常用的基于储设备的文件系统类型包括:jffs2, yaffs2, ubifs, ramdisk 等。

      

    一、使用Initramfs

      1).进入 rootfs/目录
      2).为 busybox 创建软链接#ln –s  ./bin/busybox init

      

      3).进入 linux 配置 Linux 内核,使其支持 initramfs

      make menuconfig ARCH=arm进入General setup-->

      

      找到 Initial RAM。。。。。。选中,并且将下面一项的路径改为rootfs 目录的路径

      4).保存退出编译内核

      make zImage ARCH=arm CROSS_COMPILE=arm-linux-

      5).复制生成的 zImage 文件到 下载内核的 目录下(这里我使用的是tftp自动下载所以将生成的文件复制到了/home/tftp目录下面)

       

    1.1开发板bootloader环境变量设置(串口终端)

      1).setenv bootargs noinitrd console=ttySAC0,115200
      2).save 保存
      3).通过 tftp 下载到开发板
        tftp c0008000 zImage
      4).使用 bootm 执行 c0008000

      不出意外我们就可以看到串口中断打印处以下信息说明我们成功了,但是如果是这样子的话我们没修改一次内核就得下载一次,比较繁琐因此我们接着学习NFS(网络文件系统)实现开发板的PC机的挂载。

      

    二、使用NFS(网络文件系统) 

     保证虚拟机 nfs 启动配置目录是正确的

      vi /etc/exports 修改目录访问权限(这里的目录是rootfs的目录)

      可读可写属性  同步  root权限挂载的。

      使生效:exportfs –ra

      /etc/init.d/nfs restart 重新启动

    2.1配置内核

      make menuconfig ARCH=arm

    2.2进入 General setup--->
    取消:

    2.3退出并且进入file systems--->选项

      选中 Network file system->选项,并且进入保证选项中 root file
    system on nfs 被选中

    2.4保存并且退出

      编译:make zImage ARCH=arm CROSS_COMPILE=arm-linux-

      将生成的zImage镜像复制到tftp服务器目录下面(因为的内核镜像是通过tftp下载待开发板的)

    2.5开发板u-boot启动参数设置

      setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.2.1:/home/rootfs ip=192.168.2.2:192.168.2.1:192.168.1.1:255.255.255.0::eth0:off

    开发板ip            nfs服务器ip                nfs服务器地址

     启动参数含义:

      bootargs:告诉内核以什么样的方式启动

      console=ttySAC0:串口0作为控制台,波特率为115200

      root=/dev/nfs:使用dev目录下的nfs作为根文件系统

      rw:表示可读可写

      nfsroot=192.168.2.1:NFS服务器的ip地址

      off:关闭动态IP获取

  • 相关阅读:
    应用js改变问章字体大小
    在北京实习的日子
    php算法
    SQL Server 查询处理中的各个阶段(SQL执行顺序)
    130 个你需要了解的 vim 命令
    分享一个检测用户是否用手机(Mobile)访问网站的 PHP 类
    使用apache自带日志分割模块rotatelogs,分割日志
    centos下lvs配置
    分享codeigniter框架,在zend studio 环境下的代码提示
    vi 常用命令
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5323683.html
Copyright © 2020-2023  润新知