本文主要是介绍高通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(十一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!