標籤:android blog http 使用 檔案 2014
前言這是一篇會一直更新的內容,會將我在接下來一個星期做的事情做一些記錄和總結,當然也會頻繁的更新,希望大家也能跟帖討論
下載米2s的標準版rom
選擇線刷包下載即可
解壓和打包boot.img解壓完成後,在aries_images_4.7.4_4.1_cn/images目錄下可以得到system.img檔案和boot.img檔案
tar -zxvf aries_images_4.7.4_4.1_cn_3cb6d39979.tgz
解壓boot.img解壓工具地址:http://code.google.com/p/zen-droid/downloads/detail?name=split_bootimg.pl ,我存放在~/bin/目錄下
在rom解壓出來的images目錄下執行如下命令:
~/bin/split_bootimg.pl boot.img
解壓完之後會發現多出來兩個檔案:boot.img-kernel和boot.img-ramdisk.gz,這就是解壓出來的boot.img,其中:
- boot.img-kernel : 這就是核心
- boot.img-ramdisk.gz : 是ramdisk,對應的源碼編譯目錄為out/target/product/generic/root/
分解ramdisk
打包boot.img替換完ramdisk的內容就可以進行打包操作了,打包需要用到三個工具,分別是unpackbootimg、mkbootfs和mkbooting。可以直接google搜尋
unpackbootimg擷取boot.img參數1. 使用方法
usage: unpackbootimg -i | --input boot.img [-o | --output output_directory]
2. 樣本
mkbootfs打包ramdisk
mkbootfs ramdisk/ | gzip >ramdisk-new.gz
mkbooting產生boot.img1. 使用方法
usage: mkbootimg
--kernel <filename>
--ramdisk <filename>
[ --second <2ndbootloader-filename> ]
[ --cmdline <kernel-commandline> ]
[ --board <boardname> ]
[ --base <address> ]
[ --pagesize <pagesize> ]
-o | --output <filename>
2. 樣本
解壓和打包system.img接下來,會講到另一個重要的img檔案,system,img
解壓system.img解壓system.img使用的是simg2img工具,命令如下:
simg2img system.img system.img.ext4
為system.img.ext4建立掛載目錄tmp
mkdir tmp
掛在system.img.ext4到tmp目錄
sudo mount -t ext4 -o loop system.img.ext4 tmp/
修改system目錄一般是根據移植rom的init.rc檔案進行對比,然後修改system目錄
打包system.img使用如下命令將tmp目錄重新打包成system.img檔案
make_ext4fs -s -l 1024M -a system system-new.img tmp/
參數註解:
- -s : 產生ext4的s模式
- -l : 指定system的分區大小
- -a : 指定這個img用於android系統,掛載分區為system
解壓和打包userdata.img最後一步,解包和打包userdata.img檔案,這個跟解包打包system.img檔案是類似的操作
解壓userdata.img解壓userdata.img檔案也是使用simg2img工具,命令如下:
simg2img userdata.img userdata.img.ext4
為userdata.img建立掛載目錄data
mkdir data
掛在userdata.img.ext4到data目錄
sudo mount -t ext4 -o loop userdata.img.ext4 data/
打包userdata.img還是使用make_ext4fs工具,注意掛載點是data分區