生成ramdisk-uboot.img和解压ramdisk-uboot.img

生成ramdisk-uboot.img和解压ramdisk-uboot.img

 

  1. out/host/linux-x86/bin/mkbootfs out/target/product/903/root | out/host/linux-x86/bin/minigzip > out/target/product/903/ramdisk.img  
  2. mkimage -A arm -O linux -T ramdisk -C none -a 0x20800000 -n "ramdisk" -d out/target/product/903/ramdisk.img out/target/product/903/ramdisk-uboot.img  

 

解压:

How to extract the ramdisk content from uboot format ramdisk image
假設有一包ramdisk "initrd.gz",使用u-boot下的mkimage建立uboot format ramdisk image (ramdisk-uboot.img)在原本的ramdisk image前加64 bytes檔頭資訊:

tools/mkimage -A arm -O linux -T ramdisk -C none -a 0x20800000 -n "ramdisk" -d initrd.gz ramdisk-uboot.img

可以用下面的指令 extract the ramdisk content (init.gz) from uboot format ramdisk image

dd if=ramdisk-uboot.img of=ramdisk.img.gz bs=1 skip=64

 

android编译后生成的ramdisk是一个gzip格式的文件
# file ramdisk.img
ramdisk.img: gzip compressed data, from Unix

那么先解压,因为后缀不是.gz,所以用-s 选项
gunzip -S .img ramdisk.img

这样生成了一个新文件ramdisk
查看是什么格式
# file ramdisk
ramdisk: ASCII cpio archive (SVR4 with no CRC)

ok,是一个cpio格式的文件
再次解压
先创建一个目录,假设叫rfs,并进入
# cpio -i -F ../ramdisk
512 blocks

 

  这下,你就能看见并操作ramdisk里面的内容了。当然你也可以直接在外面进行操作,但是还是建议把cpio解压缩出来的内容全部集中在一个文件夹里面,因为一会我们还要将其压缩成新的ramdisk.img。

  OK,现在开始修改步骤吧。用任何一款编辑器打开init.rc,首先在PATH那里加上你的Busybox安装路径,然后注释内容,我们要手工启动他们。

   
   
  # zygote {   # exec / system / bin / app_process   # args {   # 0 - Xzygote   # 1 / system / bin   # 2 –zygote   # }   # autostart 1   # }# runtime {   # exec / system / bin / runtime   # autostart 1   # }

  在这里需要注意,不要同时把两者都注释了,注释某一个,再试验手工启动它,如果两者同时注释我这里有问题,无法启动。

  好,接下来,使用下列命令重新打包成镜像

  cpio -i -t -F ../ramdisk.img > list

  cpio -o -H newc -O lk.img < list

  当前目录下生成的lk.img就是我们的新镜像了。使用自己的镜像启动emulator;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值