制作Android分区镜像

1 python生成一个sector数据

def get_oem_bootmode():

Header size

SECTOR_SIZE_IN_BYTES = 512

header = [0 for i in \

range(SECTOR_SIZE_IN_BYTES)]

magic

The ord() built-in function in

Python converts a character

into an ordinal integer number.

header[0:7] = [ord('p'), ord('i'), ord('d'),

ord('9'), ord('0'), ord('9'), ord('1'), ord('0')]

output = StringIO.StringIO()

for i in header:

output.write(struct.pack("B", i))

content = output.getvalue()

output.close()

only need 512 bytes

return content[:512]

2 制作ext4分区镜像

文件名:make_ko_img.sh

#!/bin/sh

MY_PATH=${PWD}

TARGET_DIR={MY_PATH}/out/target/product/{TARGET_PRODUCT}

KO_DIR=${TARGET_DIR}/ko/lib/modules

TOOL_DIR=${MY_PATH}/out/host/linux-x86/bin

rm ${TARGET_DIR}/ko* -rf

mkdir --parents ${KO_DIR}

cp {TARGET_DIR}/vendor/lib/modules/my_driver.ko {KO_DIR}

fastboot只接受Android sparse image(稀疏镜像格式)

Android 8

#{TOOL_DIR}/make_ext4fs -l 8M -s -a ko {TARGET_DIR}/ko.img ${TARGET_DIR}/ko/

Android 10

make_ext4fs -l 8M -s -a ko {TARGET_DIR}/ko.img {TARGET_DIR}/ko/

#{TOOL_DIR}/simg2img {TARGET_DIR}/ko.img ${TARGET_DIR}/ko.ext4

-l 8M是分区大小,make_ext4fs最小分区大小是8M,小于该值会导致编译失败

-a ko是指这个img用于Android,挂载点是/ko

makefile中调用:

MK_KO_IMG_SCRIPT := $(LOCAL_PATH)/path/to/make_ko_img.sh

$(MK_KO_IMG_SCRIPT)

3 Abbreviations

FRP:Android Factory Reset Protection

相关推荐
antonytyler7 小时前
机器学习实践项目(二)- 房价预测增强篇 - 特征工程四
人工智能·python·机器学习
gCode Teacher 格码致知7 小时前
Python教学基础:用Python和openpyxl结合Word模板域写入数据-由Deepseek产生
python·word
饼干,8 小时前
第5天python内容
开发语言·python
ZhengEnCi8 小时前
P3E-Python Lambda表达式完全指南-什么是匿名函数?为什么90%程序员都在用?怎么快速掌握函数式编程利器?
后端·python
Ace_31750887768 小时前
京东商品详情接口深度解析:从反爬绕过到数据结构化重构
数据结构·python·重构
尤利乌斯.X8 小时前
在Java中调用MATLAB函数的完整流程:从打包-jar-到服务器部署
java·服务器·python·matlab·ci/cd·jar·个人开发
听风吟丶8 小时前
Java 9 + 模块化系统实战:从 Jar 地狱到模块解耦的架构升级
开发语言·python·pycharm
love530love8 小时前
【笔记】xFormers版本与PyTorch、CUDA对应关系及正确安装方法详解
人工智能·pytorch·windows·笔记·python·深度学习·xformers
2301_764441338 小时前
Streamlit搭建内网视频通话系统
python·https·音视频
伟大的大威8 小时前
LLM + TFLite 搭建离线中文语音指令 NLU并部署到 Android 设备端
python·ai·nlu