`
dss16694
  • 浏览: 149530 次
社区版块
存档分类
最新评论

重新打包ubi镜像

 
阅读更多

从网上了解到ubi image不能像其他格式的文件系统image那样作为loop设备mount起来,所以需要找其它方法。具体做法就是安装nandsim模块来模拟一个nand flash,然后将ubi image写到mtd设备上,再将mtd设备attach起来,最后就可一mount ubi设备了。

 

 2002  sudo modprobe ubi

(需要安装ubi模块,不然ubiattach会报错)

 2003  sudo modprobe nandsim first_id_byte=0x20 second_id_byte=0xaa third_id_byte=0x00 fourth_id_byte=0x15

(安装nandsim来模拟nand设备,执行后可以看到/dev/mtd0。传入的四个id在执行“read ID”命令时返回)

 2005  cat /proc/mtd

mtd设备信息)

 2008  sudo ubiformat -y /dev/mtd0 -s 512 -f ubi.img

(格式化mtd,并写入ubi image

 2009  sudo ubiattach -m 0

(将/dev/mtd0 attachubi设备。detach则用-d 0,表示detach /dev/ubi0

 2010  ls /dev/ubi0*

 2012  sudo mount -t ubifs /dev/ubi0_0 ubi

(将ubi设备0的第一个分区mountubi目录)

 

 2025  sudo mkfs.ubifs -r ubi -m 2048 -e 129024 -c 863 -o fs.img

(由ubi目录制作文件系统image-m为最小io大小,-e为逻辑擦除块leb大小,-c为最大leb个数)

 2027  sudo ubinize -o fs.img.ubinized -m 2048 -p 128KiB -s 512 -O 512 ubi.ini

(制作待烧录的ubi image-m为最小io大小,-p为物理擦除块peb大小,-s为用作ubi头的page大小,-OVID头的偏移量)

 

ubi.ini内容:

[ubifs]

mode=ubi

image=fs.img

vol_id=0

vol_type=dynamic

vol_alignment=1

vol_name=rootfs

vol_flags=autoresize

 

有关ubi可以参考:

http://www.linux-mtd.infradead.org/doc/ubi.html

 

UBI头:

每一个PEB开始处存由两个64byte的的头,分为EC头和VID头。EC头存放PEB的擦除次数。VID头存放所属volume,以及映射时对应的LEB号码。EC头位于0偏移量处,VID位置取决于是否由sub-page:如果没有,则位于第二个page处;如果由,则位于第二个sub-page处。由于PEB包含两个头,所以LEBPEB小。

 

最小io单元:

NOR flash的大小为1byteNAND的对应page大小,比如512或者2k等等。

分享到:
评论

相关推荐

    ubi文件系统制作过程

    - 使用 `ubinize` 工具将ubifs文件系统打包成UBI格式。 #### 实际可用的UBI格式镜像 完成上述步骤后,可以得到一个实际可用的UBI格式镜像文件。该镜像文件可用于嵌入式系统的启动和运行。 #### 注意事项 - **内存...

    ubi和 yaffs imgae 镜像制作工具

    `mkubimage`工具是用来创建UBI镜像的,它可以将文件系统(如ext2、ext3等)转换为适合于UBI使用的镜像文件。使用mkubimage,开发者可以指定目标设备的参数,如物理块大小、逻辑块大小等,生成适合特定硬件的UBI镜像...

    nandflash烧录文件制作

    2. **填充数据**:将操作系统镜像、应用软件、配置文件等数据写入各个UBI卷。这些数据可以是已经格式化的文件系统,或者可以直接是裸文件。 3. **分配spare区**:在制作过程中,需要为每个NAND Flash页面预留一部分...

    ubifs文件系统制作教程

    这篇文章介绍的ubifs文件系统制作教程详细地讲述了如何创建ubifs文件系统镜像,并提供了脚本示例以及相关参数的使用说明。 首先,在制作ubifs之前需要安装一些必要的软件包。这些软件包包括liblzo2-dev,它为文件...

    linux文件系统制作

    5. **制作根文件系统**:将BusyBox和必要的配置文件、库文件一起打包成根文件系统镜像,适配嵌入式设备的特殊需求。 总之,Linux文件系统的制作是一个复杂而精细的过程,涉及到对系统结构、硬件兼容性、软件包管理...

    REAL6410的linux 配置

    ### REAL6410 Linux配置相关知识点 ...2. 使用`mkyaffs2image`工具打包成.ubi格式。 以上内容详细介绍了Real6410开发板的相关配置方法及步骤,旨在帮助开发者更好地理解和掌握这款开发板的使用技巧。

Global site tag (gtag.js) - Google Analytics