Android 系统 映像文件
通过Android 拉取ASOP 项目源码,配好各种环境后,编译出来的文件,有如下几个: 通过Android 拉取ASOP 项目源码,配好各种环境后,编译出来的文件,有如下几个:
boot.img
包含内核启动参数、内核等多个元素ramdisk.img
小型的文件系统,是Android系统启动的关键system.img
Android 系统的主要运行包(fwk就包含在此),会被挂在到设备的/system
下userdata.img
数据存储,会被挂载到/data
下recovery.img
进入恢复模式相关的 文件包misc.img
是miscellaneous ,包含各种杂项cache.img
缓存区,会被挂载在/cache
下
boot、ramdisk、system三个的关系如下图
boot.img 结构
xref: /system/core/mkbootimg/mkbootimg
129 def parse_cmdline(): 130 parser = ArgumentParser() 131 parser.add_argument('--kernel', help='path to the kernel', type=FileType('rb'), 132 required=True) 133 parser.add_argument('--ramdisk', help='path to the ramdisk', type=FileType('rb')) 134 parser.add_argument('--second', help='path to the 2nd bootloader', type=FileType('rb')) 135 parser.add_argument('--cmdline', help='extra arguments to be passed on the ' 136 'kernel command line', default='', action=ValidateStrLenAction, maxlen=1536) 137 parser.add_argument('--base', help='base address', type=parse_int, default=0x10000000) 138 parser.add_argument('--kernel_offset', help='kernel offset', type=parse_int, default=0x00008000) 139 parser.add_argument('--ramdisk_offset', help='ramdisk offset', type=parse_int, default=0x01000000) 140 parser.add_argument('--second_offset', help='2nd bootloader offset', type=parse_int, 141 default=0x00f00000) 142 parser.add_argument('--os_version', help='operating system version', type=parse_os_version, 143 default=0) 144 parser.add_argument('--os_patch_level', help='operating system patch level', 145 type=parse_os_patch_level, default=0) 146 parser.add_argument('--tags_offset', help='tags offset', type=parse_int, default=0x00000100) 147 parser.add_argument('--board', help='board name', default='', action=ValidateStrLenAction, 148 maxlen=16) 149 parser.add_argument('--pagesize', help='page size', type=parse_int, 150 choices=[2**i for i in range(11,15)], default=2048) 151 parser.add_argument('--id', help='print the image ID on standard output', 152 action='store_true') 153 parser.add_argument('-o', '--output', help='output file name', type=FileType('wb'), 154 required=True) 155 return parser.parse_args()
ramdisk.img
文件解压出来如下图所示,包含/system
,/data
,还有init
程序
system.img
文件解压后如下
本文来自博客园,作者:阿丟啊,转载请注明原文链接:https://www.cnblogs.com/qiyuexiaxun/p/17611544.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?