72 ubifs如何打包解包
ubifs怎么打包解包呢〉?
NAND跟EMMC不一样的解法的吧
emmc 是ext4,ubifs专指nand
解包:
用nandsim模拟NAND
把UBI文件系统attach到nandsim模拟出来的mtd设备上
最后mount到系统目录里
压包:
mkfs.ubifs生成UBI文件系统
生成对应的配置文件
ubinize生成img文件
压包能否说详细点?
也想知道呢
已经搞定,按ubifs编译出整个代码,然后去看log,android log最后一段就是ubifs 压包过程
大侠,能教下我吗
大侠,能教下我吗
mkfs_ubifs -F -r out/target/product/xxxx/system -o out/target/product/xxxx/ubifs.android.img -m 2048 -e 126976 -c 1929 -v
ubinize -o out/target/product/xxxx/system.img -m 2048 -p 131072 -o 2048 -v out/target/product/xxxx/ubi_android.ini
其中xxxx是项目名,那些具体数值要根据自己的分区及flash来定,可以看new出来的log
大侠,如何解包UBIFS格式的system.img文件呢
按下列方法无法成功
用file命令查看文件格式:
system.img: HIT archive data
解压缩步骤如下:
查看system.img文件长度,这里举例文件大小为190MB,所以使用虚拟NAND容量为256MB,以下命令载入nandsim:
modprobe nandsim first_id_byte=0xec second_id_byte=0xd5 third_id_byte=0x51 fourth_id_byte=0xa6
dmesg可以看到系统模拟出一个2048MiB的NAND flash。
复制system.img数据到虚拟nand:
dd if=system.img of=/dev/mtd0 bs=4096
载入ubi文件系统:
modprobe ubi
把mtd设备attach到ubi系统中:
ubiattach -m 0
如果系统提示以下错误信息:
ubiattach: error!: cannot attach mtd0
error 22 (Invalid argument)
使用dmesg可以发现类似错误:
UBI error: validate_ec_hdr: bad VID header offset 4096, expected 1024
UBI error: validate_ec_hdr: bad EC header
那么使用offset参数载入:
ubiattach -m 0 -O 4096
正确调用的话,系统返回信息:
UBI device number 0, total 8192 LEBs (2080374784 bytes, 1.9 GiB), available 0 LEBs (0 bytes), LEB size 253952 bytes (248.0 KiB)
最后用mount命令载入文件系统:
mount -t ubifs /dev/ubi0_0 /mnt/system/
成功载入的关键是选择正确的nandsim类型
nandsim 类型如何选择?望大侠不吝赐教
这里的4个字节取值,可以参考NAND Flash Table。按照需要更改。
就是这取值不知怎么整,我的nandflash是MT29F64G08CBABA,在ubuntu 12.04下一直搞不定,还望大侠指点迷津
顶一下…………
有人会吧,急急急
大侠,能说下解包过程吗?
有人会解包吗?
大侠,能说下解包过程吗?
怎么没人回答啊
高手在哪里啊,高手在哪里?高手在一流研发的论坛里
