Chinaunix首页 | 论坛 | 博客
  • 博客访问: 48661
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 35
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-14 14:39
文章分类
文章存档

2014年(2)

2013年(12)

我的朋友

分类: LINUX

2013-03-18 12:28:21

原文地址:UBI镜像制作 作者:shawchina

制作映像
在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) |
给主人留下些什么吧!~~