zoukankan      html  css  js  c++  java
  • 已有 UBI文件的修改

    1. UBI/UBIFS不是一个东西。。。

    ubifs使用mkfs.ubifs工具直接生成的image(文件系统镜像),可以使用uboot来升级系统。

    ubi是直接可以烧写再flash的文件(带有UBI文件系统镜像卷标),二者需要转化!

    2. 这里修改的是已有的ubi的文件!

    3. Mount过程

    3.1 首先,虚拟一个nandflash

    modprobe nandsim first_id_byte=0x2c second_id_byte=0xda third_id_byte=0x00 fourth_id_byte=0x15

    可以使用下面命令查看:cat /proc/mtd,mtdinfo /dev/mtd0

     

    3.2 将 ubi 与 /dev/mtd0 关联

    modprobe ubi mtd=0

    3.3 格式化前先解绑定

    ubidetach /dev/ubi_ctrl -m 0

    3.4 把rootfs.ubi格式化到mtd0

    ubiformat /dev/mtd0 -s 2048 -f rootfs.ubi

    3.5 绑定

    ubiattach /dev/ubi_ctrl -m 0 -O 2048

     这样设备为ubi0

    3.6 挂载设备到本地目录(已经存在的目录)

    mount -t ubifs ubi0 ./targer_dir

     至此,完成了ubi文件的mount。

    也可以使用umount ubifs卸载。

    3.7 可以复制文件再新的目录,修改之!

    cp -r ./target/* /new/directory

    4. 重新生成ubi文件

    4.1 生成ubifs(rootfs.ubifs

    mkfs.ubifs -r ./target -m 0x800 -e 0x1F000 -c 2024 -o ./rootfs.ubifs

    4.2 转换为ubi文件

    ubinize -o rootfs.ubi -m 2048 -p 128KiB -s 512 -O 2048 ubinize.cfg

    其中ubinize.cfg文件,是ubinize工具的配置文件,直接编辑一个即可(image=rootfs.ubifs指的是要转换的文件,命令行中是输出文件)

    [ubifs]  
    mode=ubi  
    image=rootfs.ubifs          #这里指的是需要输入的ubifs文件
    vol_id=0  
    vol_size=100MiB  
    vol_type=dynamic 
    vol_name=rootfs
    vol_flags=autoresize
    博客园:http://www.cnblogs.com/linux-farmer/
  • 相关阅读:
    Ionic开发Hybrid App问题总结
    >>> 主页链接
    微信小程序之WebSocket
    Keepalived+LVS+nginx搭建nginx高可用集群
    centos7 dns(bind)安装配置
    samba安装配置
    redis数据备份还原
    gitlab部署
    gitlab数据迁移
    kubeadm部署一个Kubernetes集群
  • 原文地址:https://www.cnblogs.com/linux-farmer/p/14831677.html
Copyright © 2011-2022 走看看