制作Android Root Ramdisk
概 述
|
制作Android的Root Ramdisk,供linux挂载并运行
目 录
1. Android Root Ramdisk介绍... 3
2. Android Root Ramdisk的开发环境... 3
3. 制作Android Root Ramdisk.. 4
4. 使用Android Root Ramdisk 前提... 4
5. 现存的问题... 4
Android Root Ramdisk 是整个Android开源项目编译后的最终输出文件夹,linux系统启动后将直接挂载该文件夹为系统根目录,并执行Android的init程序,启动整个Android应用。
Android Root Ramdisk制作正确与否将直接影响到Android应用是否正常运行。
SecureCRT:使用该软件读取Target上的串口信息,监控系统,也可以使用window的超级终端或其他串口软件。
NFS:Target上的linux系统,使用NFS文件系统挂载Android Root Ramdisk作为Linux根目录,并启动Android应用。
Copy:将Android Project下的源代码编译生成的root文件目录做部分修改后,拷贝到NFS Server的目录下。
Telnet,SSH2:通过该协议的相关软件(SecureCRT,Puty等),登陆Linux Host操作Android Project,NFS Server。
l 获取一份Android Project代码
l 拷贝到linux host上,并解压
l 确认linux host安装了相关编译软件包
l 在Android Project根目录下直接make
l 大约2~3个小时后可以编译完成
l 拷贝出Android Project根目录下的/out/target/product/generic/root文件夹,作为Android Root Ramdisk
l 再拷贝Android Project根目录下的/out/target/product/generic/system目录到Android Root Ramdisk目录下,覆盖原有system目录(原目录通常是个空文件夹)
l 注释掉Android Root Ramdisk根目录下init.rc文件中某一个命令,如下:
mount rootfs rootfs / ro remount
变为
# mount rootfs rootfs / ro remount
至此Android Root Ramdisk制作完成。
l Linux内核必须移植正常,能够顺利启动系统,如果在Linux系统启动Android的init程序之前便失败的话,要检查linux内核配置。目前制作出来的Android Root Ramdisk可以运行在内核2.6.25,以及2.6.27内核上。
l NFS Server必须设置好rw权限。
l 目前Android Root Ramdisk的制作方法适用于各种Android Project的版本(包括cupcake)。
l 该制作方法出来的Android Root Ramdisk可以进入Android的待机界面,但按键,触摸屏的事件暂时还无法响应操作(但Android应用可以识别到按键消息)
分享到:
相关推荐
创建Android文件系统主要包括构建root文件系统、system分区、userdata分区以及ramdisk。以下将详细介绍这两种创建方法。 **第一种方法:通过构建Android源码** 1. **获取源码**:首先,你需要下载并设置Android...
### Android 文件系统制作详解 #### 一、总概 本文主要介绍了如何在Android环境中构建一个基本的文件系统,包括从安装开发环境到最终文件系统的构建全过程。为了方便读者理解整个流程,下面将按照文章的脉络进行...
- 编译Android源码以生成`ramdisk.img`文件,例如在`out/target/product/xxx/`目录下生成。 - 以OK6410为例,编译完成后会在`out/target/product/OK6410/`目录下找到`ramdisk.img`。 2. **准备临时目录与复制文件...
在Android开发中,Boot Image的修改通常是为了解锁设备、安装自定义恢复映像、实现root权限,或者为特定设备定制系统。`mkbootimg` 和 `unpackbootimg` 这两个工具是这个过程中的核心工具,它们使开发者能够直接对...
boot 和 recovery 映像并不是一个完整的文件系统,它们是一种 Android 自定义的文件格式,该格式包括了 2K 的文件头,后面紧跟着是用 gzip 压缩过的内核,再后面是一个 ramdisk 内存盘,然后紧跟着第二阶段的载入器...
- 在`device/telechips/m805_892x/device.mk`文件中添加以下行以指定复制RLE文件到RAMDISK:`PRODUCT_COPY_FILES += device/telechips/common/initlogo.rle:root/initlogo.rle`。 5. **替换文件并重新编译**: - ...
开机动画的制作和替换涉及到Android系统的底层框架,尤其是与引导加载器(Bootloader)、系统启动服务(System Server)以及图形用户界面(GUI)相关的组件。在Android 4.0版本中,谷歌对系统进行了许多优化,包括...
然而,这个过程需要一定的技术背景,包括对Linux命令行、Android内核编译以及root原理的理解。不熟悉这些操作的用户可能会遇到困难,甚至有可能导致设备无法正常工作。因此,在尝试使用这个工具包之前,用户应该做好...
编译完成后,会在`android/out/target/product/smdkv210/`目录下找到`system.img`、`ramdisk-uboot.img`和`userdata.img`等文件。其中,`system.img`和`ramdisk-uboot.img`是编译的主要成果。 最后,制作SD卡启动。...
编译完成后,将SD卡插入电脑并连接到开发环境,通过`dd`命令或其他工具将编译生成的`system.img`和`ramdisk-uboot.img`写入SD卡。 至此,Android 4.0的编译烧写过程完成。开发者可以将SD卡插入目标设备,通过引导...
- 在`device/telechips/m805_892x/device.mk`中添加一行代码,用于复制rle文件到ramdisk.img: ```makefile PRODUCT_COPY_FILES += \ device/telechips/common/initlogo.rle:root/initlogo.rle ``` 通过以上...
- **制作屏幕Logo**:使用图形编辑软件如Photoshop制作一张与屏幕分辨率相同的图片(例如1024*768),并保存为PNG-24格式。 - **转换格式**: - 使用`ImageMagick`工具将PNG格式的图片转换为RAW格式: ```bash ...
- 示例:`PRODUCT_COPY_FILES += \ device/telechips/common/initlogo.rle:root/initlogo.rle` - 替换`device/telechips/common/initlogo.rle`文件,并删除旧的文件。 #### 五、总结 通过以上步骤,我们可以成功...
总的来说,`split_bootimg.pl`是Android开发和自定义ROM制作中不可或缺的工具。通过它可以深入了解和定制系统的启动流程,实现个性化和优化。但是,由于涉及系统核心部分,建议具备一定的Linux和Android知识基础后再...
- boot.img是Android系统启动时使用的镜像文件,包含了内核、ramdisk以及必要的启动参数。 - recovery.img是Android系统的恢复模式镜像,用于在系统出现问题时进行恢复操作。 4. 常规编译过程 常规编译分为完整编译...
在Android系统中,zImage包含了手机启动时运行的基本代码,用于初始化硬件和加载更完整的ramdisk。这个名字暗示了这个压缩包可能包含了用于刷机的内核文件,是刷入新ROM的一个关键部分。 综合以上信息,我们可以...
它们都是由一系列内核参数、内核镜像和ramdisk组成的。 #### 三、官方原生Recovery的局限性 官方原生Recovery通常非常基础,其主要局限在于: 1. **功能有限**:除了最基本的重置和恢复外,官方Recovery提供的...
该卡刷包的版本号为“K2101-NWD-s112206.20171117.13583526”,表明它是2017年11月17日13点58分制作的,具有特定的固件构建和安全补丁级别。 1. **Bootloader**: 包含`bootloader.fex`,这是设备启动过程中的关键...