Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15529978
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类: LINUX

2009-01-16 15:46:36

浅析如何在android上生成我们自己的ramdisk.img启动系统文件

一.如何取出ramdisk.img中的包含的所有内容
1.下载我们生成的ramdisk.img
2.查看ramdisk.img文件类型
luther@gliethttp:/vobs/tmp$ luther@gliethttp:/vobs/tmp$ file ramdisk.img
ramdisk.img: gzip compressed data, from Unix, last modified: Fri Jan 16 02:19:47 2009
3.解压经过gz的ramdisk.img
luther@gliethttp:/vobs/tmp$ gunzip -S .img ramdisk.img
该操作完成之后,ramdisk.img将被转换为ramdisk
或者
luther@gliethttp:/vobs/tmp$ gunzip -c -S .img ramdisk.img >luther_ramdisk.img
这样将生成指定的luther_ramdisk.img文件,同时ramdisk.img文件保持不变.
4.解压ramdisk所有内容到当前目录
luther@gliethttp:/vobs/tmp$ mkdir luther_ramdisk
luther@gliethttp:/vobs/tmp$ cd luther_ramdisk/
luther@gliethttp:/vobs/tmp/luther_ramdisk$ cpio -i -F ../luther_ramdisk.img
450 blocks
luther@gliethttp:/vobs/tmp/luther_ramdisk$ ll
total 152K
drwxr-xr-x 2 luther luther 4.0K 2009-01-16 14:50 system
drwxr-xr-x 2 luther luther 4.0K 2009-01-16 14:50 sys
drwxr-x--- 2 luther luther 4.0K 2009-01-16 14:50 sbin
drwxr-xr-x 2 luther luther 4.0K 2009-01-16 14:50 proc
-rwxr-x--- 1 luther luther  11K 2009-01-16 14:50 init.rc
-rwxr-x--- 1 luther luther 1.8K 2009-01-16 14:50 init.goldfish.rc
-rwxr-x--- 1 luther luther 101K 2009-01-16 14:50 init
drwxr-xr-x 2 luther luther 4.0K 2009-01-16 14:50 dev
-rw-r--r-- 1 luther luther   93 2009-01-16 14:50 default.prop
drwxrwx--x 2 luther luther 4.0K 2009-01-16 14:50 data
5.然后将希望添加到ramdisk中的文件添加进来.
二.如何将目录打包成ramdisk.img
1.对ramdisk目录进行cpio生成
luther@gliethttp:/vobs/tmp/ramdisk$ find . | cpio -o -H newc > ../tmp_ramdisk.img
450 blocks
2.压缩成gz文件,生成我们需要的ramdisk.img
仅仅对生成的tmp_ramdisk.img进行gzip压缩就行了.
luther@gliethttp:/vobs/tmp$ gzip -c tmp_ramdisk.img > luther_ramdisk.img
这样我们新的ramdisk.img就成功生成了,把luther_ramdisk.img烧写到手机上即可[luther.gliethttp]

linux cpio initrd操作
阅读(6892) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

gliethttp2009-08-06 13:34:45

直接使用2.6.30.4提供的脚本效果会更好./scripts/gen_initramfs_list.sh luther@gliethttp:/luther/linux-2.6.30.4$ ./scripts/gen_initramfs_list.sh -o initramfs.gz -u 0 -g 0 /vobs/crosscomplie_tootls/busybox-1.14.3/_install/

gliethttp2009-08-05 16:20:26

find . | cpio -o -H newc | gzip > ../ramdisk.cpio.gz可直接生成