• Embeded linux 之 UBIFS文件系统


    一、制作工具源码包: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烧录方法

        未完待续 

  • 相关阅读:
    Arch Linux中安装Anaconda
    Windows下使用Diskpart格式化U盘
    Jupyter Notebook的安装
    Docker的脚本安装
    pip无法正常使用卸载并重新安装
    Arch更新时failed to prepare transaction
    Privoxy将Socks代理转化HTTP代理
    Arch Linux下Visual Stdio Code在格式化C代码时报错
    GNOME 3.28 启用桌面图标
    Appium入门(8)__控件定位
  • 原文地址:https://www.cnblogs.com/pokerface/p/7411413.html
Copyright © 2020-2023  润新知