高通android7.x/9.x/12.x/14.x模块编译ko(十一)

2024-05-07 22:38

本文主要是介绍高通android7.x/9.x/12.x/14.x模块编译ko(十一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.配置交叉编译环境
# cd kernel-3.18
or # cp arch/arm/configs/msm_defconfig .config //arm32位配置方式
# make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- msm_defconfig 
# make prepare ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- 
# make scripts ARCH=arm64 CROSS_COMPILE=aarch64-linux-android-注意:
<1>.如果make ARCH=arm命令,系统会去找arch/arm/configs下的msm_defconfig配置文件,并且拷贝到kernel顶层目录生成.config文件。
<2>.如果make ARCH=arm64命令,系统会去找arch/arm64/configs下的msm_defconfig配置文件,并且拷贝到kernel顶层目录生成.config文件。2.在out目录下copy签名文件
<1>.signing_key.priv(android7.1) signing_key.pem(android9.0) signing_key.x509
out/target/product/msmxxx/obj/kernel/msm-3.18
<2>. sign-file
kernel/msm-3.18/scripts
注意:Android9.0的sign-file报错:Unrecognized character \x7F;
使用Android7.0的sign-file即可
3.ko文件签名命令
//Android7.1(老版本)
# perl sign_file/sign-file sha512 sign_file/signing_key.priv sign_file/signing_key.x509 print.ko//Android9.0 kernel4.9(新版本)
# perl sign_file/sign-file sha512 sign_file/signing_key.pem sign_file/signing_key.x509 print.ko//Android12 kernel4.9
# sign-file sha512 signing_key.pem signing_key.x509 print.ko
注意:sha512是linux系统工具,无需下载.//Android14 kernel4.19(最新)
# sign-file sha512 signing_key.pem signing_key.x509 print.ko
注意:
<1>.sign-file需在scripts/sign-file.c中编译出来。
<2>.sha512是linux系统工具,无需下载.老版本和新版本的区别:
老版本私钥:signing_key.priv
新版本私钥:signing_key.pem 4.查看签名
# file print.ko
# hexdump -C print.ko | tail5.运行insmod模块
# adb push print.ko /sdcard
# insmod print.ko
# rmmod print.o6.如果需要重新编译boot.img,需要执行以下命令即可
# cd kernel-3.18
# make distclean or # make mrproper
# make bootimage注意:如果不行,把所有img重刷一遍.

这篇关于高通android7.x/9.x/12.x/14.x模块编译ko(十一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/968592

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模