Android Rom移植

前言

这是一篇会一直更新的内容,会将我在接下来一个星期做的事情做一些记录和总结,当然也会频繁的更新,希望大家也能跟帖讨论

下载米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.img

1. 使用方法

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分区

Android Rom移植,布布扣,bubuko.com

时间: 2024-09-28 20:42:36

Android Rom移植的相关文章

第一章 Android系统移植与驱动开发概述

本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Android系统可以识别设备中的蓝牙,WiFi等,这样就可以使用这些功能了.这些程序大多是支持各种硬件设备的Linux驱动程序. 这一章中介绍了许多在进行Android系统移植和驱动开发前要了解的概念以及要做的准备.接下来主要说的是在Android系统移植过程中的主要工作. Android移植分为两部分:应

Android系统移植与驱动开发概述读书心得

第一章是Android系统移植与驱动开发概述,包含了Android系统架构.Android系统移植的主要工作.查看Linux内核版本.Linux内核版本号的定义规则.如何学习Linux驱动开发以及Linux设备驱动等六方面内容 Android系统架构分为四层,分别是Linux内核.C/C++代码库.Android SDK API和应用程序.Linux内核这一层主要包括Linux的驱动程序以及内存管理.进程管理.电源管理等程序. Android移植可分为两部分:应用移植和系统移植.应用移植是指将应

Win7+VS2010+cocos2d-x 2.1 Beta3+Sqlite工程向android平台移植

Win7+VS2010+cocos2d-x 2.1 Beta3+Sqlite工程向android平台移植 题外话: 有时打开博客想写点什么时,心中感到有点酸楚,尽管语言不那么精简,或者说是准确,而且很可能文中的总结极不成熟,甚至还夹带些错误:但是,它们毕竟是自 己经过"痛苦"的挣扎后取得的一点成绩,于是,还是下决心记下来,一方面充实了自己尘封的笔记,另一方面也不敢独享-因为我看到有那么多的朋友把自己的心 血也无保留地奉献出来.或许,我的这一点一滴也能成为他们决战BUGS中的LITTLE

Android系统移植 http://source.android.com/devices/index.html

移植Android到不同的设备 Android允许提供不同的硬件平台和驱动支持Android的运行.硬件抽象层(Hardware Abstraction Layer)提供了再Android平台软件栈和硬件设备之间的标准接口.另外,Android操作系统是开源的,可以帮助你快速的开发软件,让软硬件协同工作. 为了保证Android设备的高质量和对用户的统一用户体验,必须通过兼容测试包(Compatibility test suite). CTS能搞保证任何人开发的设备符合统一的标准,并且应用可以可

Android系统移植与驱动开发

Android是基于Linux的操作系统,底层是Linux内核层(Linux2.6, Linux3.4等),android使用了Linux操作系统的内核和驱动,其中驱动部分除了Linux的设备驱动,android还增加了专用驱动(例如Binder实现进程间通信).学习驱动之前,必须先了解linux内核,然后针对其运行方式进行探究. Android系统移植是在某一个特定的平台上运行特定的Android操作系统,因此需要特定的linux驱动促使linux内核支持Android识别不同的硬件平台. L

Android驱动移植与驱动开发概述

本书的第一章主要是对Android系统进行介绍,对Android系统移植前的准备工作进行了解,还有是对Linux内核及驱动进行讲解. Android是已经形成了非常完善的嵌入式操作系统.Android的系统架构分为4层:第一层Linux内核,主要包括驱动程序以及管理内存.进程.电源等资源的程序:第二层C/C++代码库,主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码:第三层Android SDK API,直接面向应用程序的Java APK:第四层应用程序,直接面向最终用户的Jav

《Android深度探索卷一》第一章Android系统移植与驱动开发概述。

<Android深度探索>第一章讲的是Android系统移植与驱动开发概述.这一章节将对Android以及Linux驱动做一个总体的介绍. Android是一个非常优秀的的嵌入式操作系统.经过几年的发展和演进,Android已经形成了非常完善的系统架构.Android的系统架构分为四层,如下图 Android移植可分为两部分:应用移植和系统移植. Android系统移植是指让Android操作系统在某一个特定硬件平台上运行.使一个操作系统在特定硬件平台上运行的一个首要条件就是该操作系统支持硬件

Android系统移植与驱动开发概述 第一章

Android系统移植与驱动开发概述 1. Android的系统架构分为Linux内核.C/C++代码库.Android SDK API.应用程序四层. 2. Android移植可分为应用移植和系统移植.应用移植是指将应用程序移植到特定的硬件平台.系统移植指的是让Android操作系统在某一特定硬件平台上运行(首要条件是该操作系统支持硬件平台的CPU架构).系统移植的主要任务是移植Linux驱动和HAL(Hardware Abstraction Layer:硬件抽象层,位于应用程序与驱动之间).

Android系统移植

Android系统移植 本章介绍了Android内核结构和设备驱动.Android内核基本配置.Android内核编译和DMA-210XP平台Android文件系统烧写过程. 根据Android系统体系结构图可知,Android软件层次结构自下而上分为四个层次:操作系统层(OS).各种函式库(Libraries).Android运行时(RunTime)和应用程序框架以及应用程序,其中操作系统采用的是Linux.Android系统中的内核结构和标准的Linux2.6内核基本是相同的,Android