Embeded linux 之 UBIFS文件系统【转】

转自:https://www.cnblogs.com/pokerface/p/7411413.html

一、制作工具源码包:mtd-utils-1.5.0

  1.1 确认Makefile

  1.2 编译:

    make -j4

  1.3 得到应用程序

    ubi-utils/ubiattach

    ubi-utils/ubinize

二、制作文件系统镜像

  2.1 准备文件系统

    比如一个app,目录结构为

      app

        ┣exec

        ┣doc

        ┗config

  2.2 制作镜像

    ~/mtd-utils-1.5.0/mkfs.ubifs/mkfs.ubifs -r app/ -m 2048 -e 126976 -c 992 -o ubifs.img

    参数:

      -r 源码树路径

      -m NAND页大小

      -e NAND块大小

      -c 最大逻辑块数(分区大小/块大小)

   2.3 将UBIFS文件系统镜像转换成可直接在FLASH上烧写的格式(带有UBI文件系统镜像卷标)

    ~/mtd-utils-1.5.0/ubi-utils/ubinize -o app.ubifs -m 2048 -p 128KiB-s 512 -O 2048 ubi.config

    参数:

      -o 输出文件

      -m NAND页大小

      -p NAND块大小

    ubi.conf是配置文件: 

[ubifs]
mode=ubi
image=./ubifs.img
vol_id=0
vol_type=dynamic
vol_name=dc-rootfs
vol_flags=autoresize

三、烧录

  3.1 内核启动后、文件系统中烧录方法:

    3.1.1 下载或拷贝到文件系统中

      tftp -g -r app.ubifs 电脑IP

    3.1.2 烧录镜像(比如 要烧写的分区为mtd7)

      ubiformat /dev/mtd7 -f app.ubifs

      效果图:

    3.1.3 关联ubi设备

      ubiattach /dev/ubi_ctrl -m 7

      效果图:

      3.1.4 挂载分区

        mount -t ubifs ubi0_0 /mnt/nfs02/

        效果图:

      3.1.5 挂载效果

      ~# mount

      ubi0_0 on /mnt/nfs02 type ubifs (rw,relatime)

  3.2 uboot烧录方法

    未完待续 

原文地址:https://www.cnblogs.com/sky-heaven/p/13373626.html