Edit online

系统镜像

4 Dec 2024
Read time: 2 minute(s)
SDK 目前支持用户最多生成三个不同的自定义文件系统镜像,配置步骤如下:
  1. 在配置界面使用以下命令:
    make menuconfig
    
  2. 根据需要勾选对应的镜像文件:
    Filesystem images  --->
       [*] UserFS 1  --->
       [ ] UserFS 2  --->
       [ ] UserFS 3  --->
    
    --- UserFS 1
        (user) Name                                      \\ 文件系统镜像名字,可修改,如 user
        FS Type (UBIFS)  --->                            \\ 文件系统,支持 Ext4、UBIFS、JFFS2、SQUASHFS,建议选择 UFBIFS
        (0x1000000) ubifs size(Should be aligned to MB)  \\ Image 的大小,需要和分区保持一致,单位为 Byte
        ubifs runtime compression (no compression)  ---> \\ UBIFS 内部压缩算法
        Compression method (no compression)  --->        \\ Image 压缩方法
    
            ()    Additional mkfs.ubifs options
            ()    Overlay directory
    

    参数详细解释:

    • 文件系统镜像名字: Name

      这里默认是 UserFS1 ,可根据实际情况修改,如 user

    • 文件系统类型: FS Type
      • 如果是 EMMC, 则请选择 EXT4
      • 如果是 NAND,则请选择 UBIFS
      • 如果是 NOR,则可以选择 UBIFS、JFFS2、SQUASHFS
    • Image 大小: ubifs size
      • Image 的大小要小于等于分区的大小,不能超过
      • 单位为 Byte, 默认 0x1 000 000 为 1M, 0x10 000 000 则为 16MB
      • 设置时需要对齐为 MB
    • 压缩算法
      • 压缩算法的引进将减少 Image 的 Size,但读写速度变慢
      • UBIFS 内部压缩算法 和 Image 两中压缩算法设计
      • 建议不进行压缩设置
    注:

    使用 JFFS2 文件系统时,需要 make kernel-menuconfig 使能 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS 配置。

  3. 勾选完成后,编译时,SDK 会自动创建一个文件安装目录。
    以下以勾选了 UserFS 1为例, UserFS 2, UserFS 3 也是同样的配置。
    output/userfs/fs1.<fs_name>/
    
    比如 fs_name = "User",则路径为:
    
    output/userfs/fs1.User/

    如果在编译 SDK 的组件包过程中,需要安装文件到该路面,可通过 Makefile 变量得到该安装目录的路径:

    $(TARGET_USERFS1_DIR)
    
  4. UserFS OverlayUserFS 同样支持 Overlay 的操作。Overlay 的目录在 RootFS 和 Overlay 中的 Overlay directory 中配置。如果需要配置多个 Overlay 目录,则在不同的目录之间, 使用空格进行分开。

    userfs_overlay