Chinaunix首页 | 论坛 | 博客
  • 博客访问: 335566
  • 博文数量: 102
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1146
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-21 22:33
文章分类

全部博文(102)

文章存档

2011年(8)

2010年(94)

我的朋友

分类: LINUX

2010-03-11 21:09:27

最近工作中有个小的需求,要把一个目录做成ext3的image,存放到手机里的存储设备,比如MMC,NAND.Yaffs/Ext2有专门的工具来做这个转换。把特定目录的内容拷贝到手机里还有另外的方式,比如先用dd做一个image镜像,然后吧目录的内容cp过去。

由于手机是多用户系统,所以保留目录文件的用户和权限信息很重要。这就是用工具直接把目录制作成镜像的原因。

开源的工具里genext2fs可以把一个目录制作为ext2 image,此image可以直接从存储设备mount供kernel使用。genext2fs man page()

现在要把此工具生成的ext2镜像转化为ext3/4,所用到的tool是tune2fs.ext2/3/4的物理layout差别不大,可以用tune2fs工具进行convert。

下面是一个简单的转换过程,在ubuntu pc下完成的。
STEPS:

1. Initial dir info;
ll ext2/
total 0
-rw-r--r-- 1 root         wangxingchao 0 2010-03-11 15:07 a
-rw-r--r-- 1 wangxingchao wangxingchao 0 2010-03-11 15:07 b
-rwxrwxrwx 1 tftpd        wangxingchao 0 2010-03-11 15:07 c
-rw-r--r-- 1 daemon       wangxingchao 0 2010-03-11 15:30 d

2. create image with tool
sudo genext2fs -b 20480 -d ext2/ ext3.img

3. change to ext3 type
sudo tune2fs -j ext3.img

4. mount as ext3
sudo mount -o loop ext3.img /home/wangxingchao/sd-card/

5. check result
/dev/loop0 on /home/wangxingchao/sd-card type ext3 (rw)

6. check dir information
ll
total 1029
-rw-r--r-- 1 root         wangxingchao       0 2010-03-11 15:07 a
-rw-r--r-- 1 wangxingchao wangxingchao       0 2010-03-11 15:07 b
-rwxrwxrwx 1 tftpd        wangxingchao       0 2010-03-11 15:07 c
drwx------ 2 root         root         1048576 2010-03-11 15:32 lost+found
-rw-r--r-- 1 daemon       wangxingchao       0 2010-03-11 15:30 d


Also, Canbe mount as Ext4 by tune2fs with "-O extents" option.

这样就实现了genext2fs-->ext2-image-->tune2fs-->ext3-image-->ext4-image的制作。
阅读(2050) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-06 16:18:26

不错,谢谢,小弟正在疑惑如何制作ext2格式的android镜像呢,看到了这篇文章,明白了许多