当前位置: 首页 > news >正文

制作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

http://www.lryc.cn/news/341798.html

相关文章:

  • 如何代码激活service——packageKit 系统更新番外
  • 音视频常用工具
  • 周刊是聪明人筛选优质知识的聪明手段!
  • 设计模式Java实现-建造者模式
  • 微博视频怎么下载无水印
  • 为什么要梯度累积
  • 知识图谱在提升大语言模型性能中的应用:减少幻觉与增强推理的综述
  • P8800 [蓝桥杯 2022 国 B] 卡牌
  • MySQL商城数据表(80-84)
  • 使用Gitbook生成电子书
  • 设计模式之传输对象模式
  • Re69:读论文 LaMDA: Language Models for Dialog Applications
  • 算法学习:二分查找
  • github提交代码失败解决方案
  • 连锁收银系统总仓到门店库存调拨操作教程
  • 公网tcp转流
  • 【Linux 基础 IO】文件系统
  • Chrome浏览器安装React工具
  • React常用组件分享
  • JSON原生AJAX
  • Go图片列表
  • 1.4 初探JdbcTemplate操作
  • React 第二十一章 Portals
  • ADS基础教程9-理想模型和厂商模型实现及对比
  • 从零开始学AI绘画,万字Stable Diffusion终极教程(二)
  • electron 通信总结
  • [基础] Unity Shader:顶点着色器(vert)函数
  • 什么是数据库的三大范式?
  • ASP.NET网上图书预约系统的设计
  • 双色球案例【C#】