默认的内核是不支持加载与卸载LKM的,所以在编译Android的Linux内核之前,需要配置下,

在Android的Linux内核的源代码,目录下,运行

$ make menuconfig

出现如下的图片:

另外,按向左键选择,卸载模块相关

注意:

如果用官方的模拟器内核或者没有进行以上的配置的话:

1 运行 insmod hello.ko 来加载模块的时候,会提示

 insmod: init_module 'hello.ko' failed (Function not implemented)

2 而如果运行 rmmod hello.ko 来卸载模块的时候,会提示

rmmod: delete_module 'hello.ko" failed (errno 38)

当编译完andorid的内核后,重新编译我们的hello模块,然后用我们自己编译的内核启动模拟器:$ emulator -avd AVD15 -kernel ~/android_source/kernel/common/arch/arm/boot/zImage -show-kernel//其中 ~/android_source/kernel/common/arch/arm/boot/zImage 是编译生成的内核的Image//而 show-kernel 是为了显示系统的Log信息操作如下:1)加载与卸载LKM

2)内核的Log信息

参考:1. http://tjworld.net/wiki/Android/Linux/ARMCrossCompileOnIntel#BuildaCustomModule2  在 Android Emulator 中开发 LKM 程序3 http://comments.gmane.org/gmane.comp.handhelds.android.kernel/810

附件,本文的测试程序

编写Android的LKM(Linux Kernel Module)相关推荐

  1. The Linux Kernel Module Programming Guide 2.4 中文版

    The Linux Kernel Module Programming Guide 2.4 中文版 分类: Linux/os 2007-09-29 11:14 820人阅读 评论(0) 收藏 举报 T ...

  2. 编写一个简单的linux kernel rootkit

    一.前言 linux kernel rootkit跟普通的应用层rootkit个人感觉不大,个人感觉区别在于一个运行在用户空间中,一个运行在内核空间中:另一个则是编写时调用的API跟应用层rootki ...

  3. Xamarin.Android模拟器提示HAX kernel module is not Installed

    Xamarin.Android模拟器提示HAX kernel module is not Installed 错误信息: emulator : ERROR : x86 emulation curren ...

  4. 【译】Writing a Simple Linux Kernel Module

    掌握 Golden Ring-0 Linux为应用程序提供了强大而广泛的API,但有时这还不够. 与一块硬件交互或执行需要访问系统中特权信息的操作需要内核模块. Linux内核模块是一段编译的二进制代 ...

  5. android compress函数,Linux Kernel(Android) 加密算法小结(cipher、compress、digest)

    Linux Kernel(Android) 加密算法总结(cipher.compress.digest) 1. Linux内核支持哪些加密算法 ? 内核支持的加密算法很多,包括: 对称加密算法,如AE ...

  6. Android version and Linux Kernel version

    一.Android版本与Linux内核的关系 英文名 中文名 版本号 API level 发布时间 内核版本     1.1    2008.9    Cucake 纸杯蛋糕 1.5  3 , NDK ...

  7. Android 查看系统Linux kernel版本号

    和遥控器厂商做系统适配,常常需要提供系统的 Linux kernel 的版本号,记录下查询方法. 串口或者adb 执行 cat /proc/version 命令拿到. 示例, xxx:/ # cat ...

  8. 新手玩转Linux Kernel漏洞之Null Pointer Dereference

    新手玩转Linux Kernel漏洞之Null Pointer Dereference 前言 这是我内核漏洞的入门篇, 不是很复杂, 希望能给徘徊在门外的小伙伴一点启发. 漏洞描述 A NULL po ...

  9. linux 文件系统 启动,linux kernel文件系统启动部分

    现在的kernel里,有个叫做ramfs的文件系统,会把initrd(或者ramdisk,为惯性叫法)里的东西挂载到early-rootfs里(即rootfs,是ramfs的一个特殊实例),执行一些在 ...

最新文章

  1. TCL中Ports/Pins/Nets/Cells/Clocks之间的交互关系?
  2. 登录账号,玩猜数字游戏
  3. solidity智能合约[17]-动态长度数组
  4. php获取字符串扩展,PHP7扩展开发之字符串处理
  5. my CSAPP Attack lab堆栈详解
  6. python中的lambda函数用法--无需定义函数名的函数或子程序,避免代码充斥着大量单行函数
  7. C++实现简单的文件I/O操作
  8. 5320. 餐厅过滤器
  9. 老板放过我吧!我Java8还没用呢,又让我学习Java14
  10. 视频教程-19年录制Zookeeper、Dubbo视频教程 微服务教程分布式教程 SpringBoot教程整合-Java
  11. matlab trapz二重积分函数_用MATLAB计算某些区域上的二重积分666.doc
  12. 【MySQL】绿色版下载配置教程(Windows)
  13. 高等数学:第三章 微分中值定理与导数的应用(2)罗必达法则
  14. 在Qt中如何用纯代码写一个本地视频播放器
  15. c语言sobel边缘检测,Sobel图像边沿检测算法的优化设计与实现
  16. 唐伯虎点秋香之不共戴天铃声 唐伯虎点秋香之不共戴天手机铃声...
  17. c语言中pair的头文件,C++中使用pair是否一定要包含头文件utility
  18. Android项目内简单集成微信和支付宝支付功能
  19. 基于Opencv快速实现人脸识别(图片识别)
  20. three.js—纹理贴图texture的使用

热门文章

  1. 腾讯AI又搞出大动作:Robotics X机器人实验室成立,签Nature办新AI大会
  2. 解决:mysql5.7 timestamp默认值0000-00-00 00:00:00 报错
  3. 利用JS实现 TABLE的分页
  4. java方法:flush()
  5. 1600802047 android 第三次作业(音乐播放器)
  6. codeforces1013E - DP
  7. 未来已来?揭开量子计算机的神秘面纱
  8. php 手动搭建环境
  9. AD迁移工具:ADMT
  10. cisco查看模块是单模多模