近期由于项目需要,需要自己写一个.ko文件,来操作寄存器,但是该.ko是不能跟整体工程在一起的,需要单独编译,这过成功遇到了大量的问题,现在终于解决,跟大家分享一下,很珍贵!!!

遇到的问题:

1. 在android设备中输入insmode hello.ko ,会提示"nsmod: error inserting 'hello.ko': -1 Required key not available"   .这是签名问题,没有使用该设备android工程的密钥进行签名。

2. 使用正确的android工程密钥签名后,依然insmode失败,提示"exec format error", 这是由于版本不对。

网上提到的方法:此方法可以了解linux的内容,但是实际不好使!!!

1.将自己的hello文件夹(内部有Kconfig, Makefile, hello.c)复制到随便一个文件夹下,如xxx_self_project/linux_xxx/drivers/hello/

2. 修改xxx_self_project/linux_xxx/drivers/目录下的  Kconfig和Makefile,可参考其他模块。

3.Makefile中为obj-m(生成ko), 不是obj-y

4.在xxx_self_project/linux_xxx/下,make menuconfig, 将hello选项选为[M], 保存,这时会生成xxx_self_project/linux_xxx/.config文件。

5.此时一点要,make savedefconfig(注意 savedefconfig是一个命令,不是一个文件名),对当前.config进行保存合并到默认的配置文件中。 效果可以查看xxx_self_project/linux_xxx/arch/xx/configs/xxxxdefconfig,或xxx_self_project/linux_xxx/include/config/auto.conf.

6.make modules    生成hello.ko

7.对hello.ko签名, 在xxx_self_project/linux_xxx/路径下, perl ./scripts/sign-file  sha512 signing_key.priv signing_key.x509 drivers/hello/hello.ko

查看是否签名成功:hexdump -C hello.ko | tail

8. adb push .....,然后insmod hello.ko ,此时安装的话,会出现错误"exec format error", 这是版本不对。

以上内容虽然没有解决问题,但是如果都经历一遍的话对linux的了解还是很好的。

下面是真正的正确的方法:

1.将整个android工程make一遍,

2.将hello文件夹(内部有Makefile, hello.c)拷贝到任一位置,我本人放在xxxx_self_project/ 的路径下,跟android和linux目录平行。

3.Makefile内容如下图,主要是KERNELDIR路径,该路径是android整个工程编译后临时文件的路径!!!!

4. 在hello路径下make

5. 签名,

5.1签名需要的密钥位于xxx_self_project/android/out/target/product/xxxxxx/kernel/下面,将signing_key.priv, signing_key.x509复制到hello下面。

5.2 使用xxx_self_project/linux_xxxx/scripts/sign-file 进行签名

perl ../linuxxxx_/scripts/sign-file  sha512 signing_key.priv  signing_key.x509  hello.ko

5.3使用hexdump -C hello.ko | tail查看

经过以上方法,就可以将自己单独编译的.ko文件insmod到android设备里边了!!!!!!!!

如何在android设备上insmod自己单独编译的.ko,解决签名问题相关推荐

  1. android手机icoude邮件,如何在Android设备上访问Apple应用和数据?教程来了!

    原标题:如何在Android设备上访问Apple应用和数据?教程来了! 对于一些出于工作原因,拥有ios和Android不同系统手机的人来说,有时候会觉得在共享资料或数据上会比较麻烦.但是,其实并非如 ...

  2. android初学者_初学者:如何在Android设备上的打开的应用程序之间切换

    android初学者 When you run an app on your Android device, you can minimize it and return to the home sc ...

  3. 手机facebook注销_如何在Android设备上注销Facebook Messenger

    手机facebook注销 Ever since Facebook decided to force people to use Facebook Messenger to send and recei ...

  4. 如何在Android设备上的Google Play商店中清除搜索和应用历史记录

    Your Google Play Store search history includes previously searched for apps, movies, books, music, e ...

  5. 如何在Android设备上关闭/停止正在运行的应用程序

    Android apps don't actually stop running when you return to the Home screen or switch to another app ...

  6. 如何在Android设备上识别读取美国驾照信息

    根据美国机动车管理者协会(AAMVA https://www.aamva.org/DL-ID-Card-Design-Standard/)的规定,美国驾照使用PDF417编码,如下图: Google ...

  7. 安卓手机的证书信任设置在哪_如何在Android设备上安装受信任的CA证书?

    Before Android version 4.0, with Android version Gingerbread & Froyo, there was a single read-on ...

  8. android ca,如何在Android设备上安装可信CA证书?

    如果您需要HTTPS连接证书,则可以将.bks文件作为原始资源添加到应用程序并扩展DefaultHttpConnection,以便将证书用于HTTPS连接.public class MyHttpCli ...

  9. 红橙Darren视频笔记 热更新 bsdiff bspatch 在Android设备上的应用 架构篇1完结篇

    概述 当时红橙的视频讲解就差不多90分钟,但是真正自己做出来热更新的demo还是花了八九个晚上,期间遇到各种各样的问题,什么叫台上一分钟 台下十年功是深有体会了. 本节会涉及一部分NDK的知识 推荐阅 ...

最新文章

  1. 安装了libevent和memcached之后却发现在执行的时候出现了 error while loading shared libraries问题...
  2. ubuntu中PyCharm的安装与卸载
  3. 从近两年的CVPR会议来看,目标检测的研究方向是怎么样的?
  4. Windows下Eclipse+PyDev安装Python开发环境
  5. 关于分布式锁的面试题都在这里了
  6. VGA显示器驱动设计与验证
  7. C#基础视频教程4.3 如何编写简单的计算器
  8. DMA讲解《一》(清华大学)
  9. ORA-30377 MV_CAPABILITIES_TABLE not found
  10. Atitit图像识别的常用特征大总结attilax大总结
  11. Mac,Windows11,Windows10局域网互传共享文件
  12. (附源码)计算机毕业设计SSM原创网络文学管理系统
  13. 关于实时推送系统的那点事
  14. 使用MIPS完成汇编程序——选择排序实现
  15. 成品入库过账bapi
  16. 《最优化方法》——数学基础知识线性规划无约束优化算法初步
  17. Microsoft.Office.Interop.Excel.dll下载
  18. 看了这个逻辑关系图,才更清晰为何不让你随便外出了
  19. JME2 和JME3的比较
  20. python:比较人脸识别中gallery数据集和prob数据的IP

热门文章

  1. hive、impala的客户端,cli、beeline、WebHCat
  2. 华纳云:香港机房基础网络架构
  3. 数据库系统原理 - - (6)数据库安全与保护
  4. 《人性的弱点》总结之一 --- 人际交往的基本技巧
  5. PAT-BASIC1062——最简分数
  6. python 画风矢量图
  7. css3 只给左上,右上,左下,右下设置圆角属性
  8. Android 虚拟机与类加载机制
  9. Python自动化办公(一) :滴滴行程单信息提取存入excel表格 2021-04-13
  10. 理解DCT与DST【二】:离散余弦变换