制作映像
在pc上制作镜像需要mkfs.ubifs工具。安装如下
在ubuntu下面编译mtd-utils的两种方法(相信也可以用于其它发行版下):
方法一:
从git repository获取源代码,此编译为最近更新
1. get the source code of mtd-utils
git clone git://git.infradead.org/mtd-utils.git
2. cd mtd-utils
3. make
4. sudo make install (需要root权限来操作)
方法二:
从ftp网站拿打好的源代码包
1. wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.4.5.tar.bz2
2. tar -jxvf mtd-utils-1.4.5.tar.bz2
3. cd mtd-utils-1.4.5
4. make
5. sudo make install (需要root权限来操作)
注意: 在编译的过程中,你或许会遇到下面的问题:(In compile process, you will meet the following problem.)
1. sys/acl.h: No such file or directory --> sudo apt-get install libacl1-dev
2. compr_lzo.c:29:23: error: lzo/lzo1x.h: No such file or directory --> sudo apt-get install liblzo2-dev
3. uuid/uuid.h: No such file or directory --> sudo apt-get install uuid-dev
在PC上运行如下命令得到UBI image
制作ubi烧写映像命令
mkfs.ubifs
ubinize
命令参数
-r:制定文件内容的位置
-m:页面大小
-e:逻辑擦除块大小
-p:物理擦除块大小
-c:最大的逻辑擦除块数量
-s:最小的硬件输入输出页面大小,如:k9f1208为256(上下半页访问)
重要提示,要根据flash加载ubifs输出的信息来用下面的命令制作镜像,否则不能启动系统
sudo mkfs.ubifs -r rootfs -m 2048 -e 129024 -c 1948 -o ubifs.img
sudo ubinize -o ubi.img -m 2048 -s 512 -p 131072 ubifs.conf
[ubifs]
mode=ubi
image=ubifs.img
vol_id=0
vol_size=200MiB
vol_type=dynamic
vol_name=ubifs(最好和uboot创建的卷标一致)
vol_alignment=1
vol_flags=autoresize
制作出ubi.img,用于uboot烧写!
(错误,其中制作出的ubifs.img才是用于uboot烧写的,而ubi.img是用于内核烧写的ubiformat /dev/mtd4 -s 512 -f ubi.img)
阅读(862) | 评论(0) | 转发(0) |