compiled android kernel module:

1.下載你所要應用的對應的內核源碼,下載交叉編譯器工具。

2.mkdir ./test ./out ./source ./tools

3.cp kernel.gz to ./test

cp cross-compile tools to ./tools(eg:arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2)

cp source code to ./source

touch Makefile into ./source:obj-m +=*.o

4.cd ./test

make ARCH=arm CROSS_COMPILE=../tools/~/bin/arm-embi- O=../out *_defconfig

5.cd ../out

make ARCH=arm CROSS_COMPILE=../tools/~/bin/arm-embi- modules

6.make ARCH=arm CROSS_COMPILE=../tools~/bin/arm-embi- M=../source

7. 此時你可以在你的source目錄中找到你的*.ko

补充:

整个流程如上,有些简略,下面我再详述一下。

1.请分清你要运行在何种设备上,然后下载对应的kernel。可以通过adb shell命令打开终端,在其中输入uname -ra来查看设备的内核版本,使用对用的内核来build你的kernel module。最好是登陆设备提供商的开发网站下载对应kernel。

2.在你需要的目录创建文件夹,可以像上面2中使用的那样分开创建,便于管理。./test文件夹我对应放入的是kernel,./out是用来自定义的kernel生成的相关文件,./source用来对应你要build的源码,./tools对应放入你的交叉编译工具。

3.你的.c源文件要对应创建一个Makefile,其内容可以只写obj-m +=modulename.o

4.进入你的内核文件夹输入命令make ARCH=arm CROSS_COMPILE=~/tool/~/bin/arm-embi- O=~/out tegra3_defconfig,注意最后的tegra3_defconfig对应为你的处理器,比如qsd8625_defconfig

5.进入out目录输入make ARCH=arm CROSS_COMPILE=~/tool/~/bin/arm-embi- modules,此时会buid此目录下的modules

6.同样在out目录输入上面对应的6对应的命令,完成后你的kernel module就会出现!!!!!

更多相关文章

  1. 64位Ubuntu Kylin14编译android内核
  2. android studio ndk开发遇到的问题
  3. Android(安卓)Studio获取SHA1值
  4. 手动root android 模拟器(emulator)详细过程
  5. android 设置搜狗输入法为默认输入法
  6. Android的版本(Version)和API-level的对应关系
  7. Android(安卓)判断输入框是否为空
  8. Material Design
  9. android ViewPager学习笔记1

随机推荐

  1. Android按两次提示退出应用
  2. Android中Activity的四种启动模式
  3. 学习android随手记 之 android:name andr
  4. android开发之Parcelable使用详解
  5. Android下USB Accessory的实现分析 (三)---
  6. android nfc中MifareClassic格式的读写
  7. android-1-Android简单入门
  8. android开发中常用的设计模式汇总
  9. android 如何调用选择文件模块
  10. android怎么引入第三方包