转载:
------------------------------------------------------
一.ramdisk.img
android编译后生成的ramdisk.img是一个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
ok,那么得到结果是
# ll
total 160
drwxrwx--x 2 root root 4096 2010-08-21 19:10 data
-rw-r--r-- 1 root root 118 2010-08-21 19:10 default.prop
drwxr-xr-x 2 root root 4096 2010-08-21 19:10 dev
-rwxr-x--- 1 root root 107412 2010-08-21 19:10 init
-rwxr-x--- 1 root root 1677 2010-08-21 19:10 init.goldfish.rc
-rwxr-x--- 1 root root 12995 2010-08-21 19:10 init.rc
drwxr-xr-x 2 root root 4096 2010-08-21 19:10 proc
drwxr-x--- 2 root root 4096 2010-08-21 19:10 sbin
drwxr-xr-x 2 root root 4096 2010-08-21 19:10 sys
drwxr-xr-x 2 root root 4096 2010-08-21 19:10 system
这就是全部内容了。
生成就是一个逆向的操作而已。
二.如何将目录打包成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]
注:
其实ramdisk.img的内容就是/opt/froyo/out/target/product/generic/root的压缩而已。
二.system.img userdata.img
1 解压
file system.img和userdata.img发现他们都是
VMS Alpha executable类型.可通过以下命令来解压出来
xyaffs2 img_file output_dir
xyaffs2可以从下面找到:
http://limodev.cn/download/xyaffs.tar.gz
2 替换
库文件在lib目录下,执行程序在xbin目录下,你可以把自己的库文件和执行程序放进去。
3 打包
mkyaffs2image [-f] [-c <size>] [-s <size>] dir image_file [convert]
mkyaffs2image可以直接从yaffs2网站上找到,或者直接用android open source里面的。
./out/host/linux-x86/bin/mkyaffs2image
分享到:
相关推荐
3. `android-23/system.img`和`ramdisk.img`:分别代表系统映像和RAM磁盘映像,用于模拟器或设备的系统分区。 4. `android-23/data/app/`:包含示例应用,供开发者参考学习。 四、开发与适配 开发针对Android 6.0的...
boot 和 recovery 映像并不是一个完整的文件系统,它们是一种 Android 自定义的文件格式,该格式包括了 2K 的文件头,后面紧跟着是用 gzip 压缩过的内核,再后面是一个 ramdisk 内存盘,然后紧跟着第二阶段的载入器...
解压后,这个文件夹将包含如system.img、ramdisk.img、kernel等核心系统组件,以及Android公共库和特定API级别的框架类库。 7. **开发实践** 开发者应了解如何使用新的API和功能,例如: - 应用快捷方式:创建可...
2. **system.img**:这个文件是Android系统的系统分区映像。它包含了Android操作系统的大部分核心组件,如系统库、应用程序框架、预装应用等。在Android设备上,系统映像会被烧录到设备的闪存中,通常位于/system...
1. **system.img**:这是Android系统的镜像文件,包含了操作系统的核心组件和服务。 2. **ramdisk.img**:包含了启动时运行的服务和程序,如init进程和一些系统守护进程。 3. **boot.img**:包含了引导加载器和内核...
执行这个命令后,会在当前目录下生成kernel、ramdisk和system.map三个文件,其中kernel文件是内核映像,ramdisk文件是解压后的RAMdisk,system.map文件则包含了内核符号表。 在Android开发过程中,`mkbootimg`和`...
- Android System Server是Android系统的主进程,负责用户界面、权限管理等。 - Zygote进程是System Server的父进程,它是所有Java应用的起点,预先加载Dalvik或ART运行时环境。 7. **设备初始化和服务启动**: ...
* System:这个分区几乎包含了除kerner和ramdisk之外的整个android操作系统,包括了用户界面、和所有预装的系统应用程序和库文件。 * Userdata:用户数据区,用户安装的应用程序会把数据保存在这里,包含了用户的...
- **ramdisk.img** 和 **ramdisk-recovery.img**:这些文件是boot.img和recovery.img镜像的文件压缩部分,即ramdisk。 - **recovery.img**:恢复模式分区的映像文件。 - **secro.img**:安全配置映像文件。 - **...
1. **构建文件系统源码**:构建Android文件系统需要先从Android源码中编译出所需的文件系统镜像,包括`system.img`、`ramdisk.img`和`userdata.img`等。 - `system.img`包含了Android系统的基本组件和应用程序。 -...
--unpack-ramdisk [文件] [目录] [文件]为空时,使用ramdisk.gz [目录]为空时,使用initrd, (请保证这个目录不存在) 输出:cpiolist.txt, initrd目录下的文件 --repack-ramdisk [cpiolist] [cpiolist]为空时,读取...
创建Android文件系统主要包括构建root文件系统、system分区、userdata分区以及ramdisk。以下将详细介绍这两种创建方法。 **第一种方法:通过构建Android源码** 1. **获取源码**:首先,你需要下载并设置Android...
1. **获取根文件系统**:编译结束后,`root/`目录即为基本的根文件系统,你需要将`system/`拷贝到`root/system/`下,使得`root/`成为一个完整的Android文件系统。 2. **创建设备节点**:注意`root/dev/`目录下默认为...
### Linux内核启动过程及Android根文件系统的挂载 #### Linux内核启动流程概览 Linux内核的启动过程是一个复杂而有序的过程,涉及到多个关键步骤。为了更好地理解这一过程,我们将从架构特定的启动代码开始,逐步...
The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android 1.1 SDK, Release 1. Supported Supported Supported ...
最后一步是将新生成的`ramdisk.img`替换Android SDK中的对应文件,通常路径为`android-sdk-windows/platforms/android-2.1/images/ramdisk.img`。在此之前,建议备份原始的`ramdisk.img`文件。完成替换后,启动...
3. **ramdisk-u.img**:通常称为initrd(初始RAM磁盘),这个文件在系统启动早期被挂载为临时根文件系统。它包含了引导过程中需要的一些基本工具和服务,如设备驱动和系统初始化脚本。 4. **userdata.img**:此文件...
3. **检查AVD**: 使用`./android list avd`命令来查看已创建的AVD。 4. **启动AVD**: 使用`./emulator -avd h3`启动名为“h3”的AVD。模拟器将使用默认的内核和文件系统。 5. **自定义外观**: 模拟器的外观是可以...
`system-images.zip` 文件与 Android 4.0(Ice Cream Sandwich,API 级别14)的模拟器系统镜像有关,它包含了运行 Android 4.0 模拟器所需的基本组件。当你尝试创建一个 Android 4.0 的模拟器时,如果缺少 `userdata...
- **Base**:主文件包,包含U-boot (FDL2、SPL、u-boot)、Kernel (boot.img) 和 Android (system.img, userdata.img)。 - **Csr**:包含CSR的蓝牙、GPS、Wi-Fi等代码,解压后需复制到3rdparty对应目录。 - **Inno...