`
阅读更多

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就会出现!!!!!

0
0
分享到:
评论

相关推荐

    AndroidChromium:来自Chrome开放项目的Android版本的Chrome浏览器

    Android Studio作为开发环境,从Chromium for Android从chrome模块源代码加入Android项目。 在Chrome环境中构建本机代码,因此将文件加入Android项目 在Chrome环境中将基本模块(基础,内容,网络等)构建到jar包中...

    linux 内核配置机制

    前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们...

    Android系统移植技术详解

    android编译系统makefile(Android.mk)写法 10 Android系统移植(一)-让android系统在目标平台上运行起来 18 Android系统移植(二)-按键移植 20 Android系统移植(三)-按键字符表 25 android启动过程配置文件的解析与...

    模拟器专用android kernel2.6 (支持netfilter,ko文件加载与卸载)

    可支持内核模块文件(ko文件)的加载与卸载; 同时完美支持netfilter) 2.还有个编译此内核时使用的config文件。(供各位想自己编译的人参考) 使用方法: 1.如何让android模拟器运行时使用自己编译的内核? 首先进入...

    [14本经典Android开发教程]-8-Linux内核阅读心得体会

    读核感悟 kbuild系统 内核模块的编译 22 读核感悟 kbuild系统 编译到内核和编译成模块的区别 24 读核感悟 kbuild系统 make bzImage的过程 26 读核感悟 kbuild系统 make menuconfig 31 读核感悟 文件系统 用C来实现...

    Sate4412开发板用户手册(linux android 编译开发环境搭建)V1.4.1.pdf

    交叉编译工具 Arm-2009q3(gcc 4.4.1) 文件系统格式 RAMDISK, Ext4 GUI Google Android 4.0.4 ICS 软件功能支持 支持3D图形显像(Mali-400 MP) 支持1080P视频播放 支持Flash player V11网页Flash播放 支持HDMI1.4...

    MTK编译命令

    MTK 编译命令是 Android 系统移植与调试中一个重要的命令,用于编译和生成 Android 系统的相关文件。本文将详细介绍 MTK 编译命令的格式、选项、项目、action、modules 等组成部分,并对每个部分进行详细解释。 MTK...

    Android底层开发技术实战详解--内核、移植和驱动.(电子工业.王振丽).part3

    2.4.4 编译Android的Linux内核 50 2.5 运行模拟器 52 2.5.1 Linux环境下运行模拟器的方法 53 2.5.2 模拟器辅助工具——adb 54 第3章 驱动需要移植 57 3.1 驱动开发需要做的工作 57 ...

    《Android系统源代码情景分析》

    2.1.4 编译内核驱动程序模块 2.1.5 验证内核驱动程序模块 2.2 开发C可执行程序验证Android硬件驱动程序 2.3 开发Android硬件抽象层模块 2.3.1 硬件抽象层模块编写规范 2.3.2 编写硬件抽象层模块接口 ...

    Android驱动开发权威指南

    第4章Linux内核编程与内核模块 4.1 Linux内核源代码目录结构 4.2 Linux内核的编译与启动 4.3 Linux内核的C编程 4.4 Linux内核模块基础与骨架 4.5 Linux模块的加载与卸载 4.6 Linux模块的参数与导出符号 4.7 Linux...

    Android系统源代码情景分析-罗升阳-源码

    2.1.4 编译内核驱动程序模块 2.1.5 验证内核驱动程序模块 2.2 开发C可执行程序验证Android硬件驱动程序 2.3 开发Android硬件抽象层模块 2.3.1 硬件抽象层模块编写规范 2.3.2 编写硬件抽象层模块接口 2.3.3 ...

    Android底层开发技术实战详解--内核、移植和驱动.(电子工业.王振丽).part1

    2.4.4 编译Android的Linux内核 50 2.5 运行模拟器 52 2.5.1 Linux环境下运行模拟器的方法 53 2.5.2 模拟器辅助工具——adb 54 第3章 驱动需要移植 57 3.1 驱动开发需要做的工作 57 ...

    基于Android的智能手机的设计与实现

    进而对系统的硬件和软件进行设计,硬件设计包括硬件总体设计、处理器设计、存储器设计、音频模块设计、基带模块设计、蓝牙模块设计、USB模块设计等,软件设计包括本系统启动代码的移植、内核的移植、文件系统的制作...

    android系统开发--HAL层开发基础

    在 Android 系统中,JNI 会调用 /hardware/libhardware/hardware.c 中定义的 hw_get_module 函数来获取硬件模块,然后调用硬件模块中的方法,硬件模块中的方法直接调用内核接口完成相关功能。 通用硬件模块...

    Android底层开发技术实战详解--内核、移植和驱动.(电子工业.王振丽).part2

    2.4.4 编译Android的Linux内核 50 2.5 运行模拟器 52 2.5.1 Linux环境下运行模拟器的方法 53 2.5.2 模拟器辅助工具——adb 54 第3章 驱动需要移植 57 3.1 驱动开发需要做的工作 57 ...

    Android手持终端设备媒体播放软件模块的开发.pdf

    Android手持终端设备媒体播放软件模块的开发是基于Android平台的,利用Java语言和Eclipse编译工具开发的一款多功能播放软件。该软件不仅实现了播放器的一些基本功能,还加入了机器翻译辅助听歌学外语、视频播放、...

    android系统原理及开发要点详解

     第6~12章分模块介绍Android的几个核心系统,主要是本地框架和Java框架方面的内容,兼顾应用程序和驱动层,这是本书的重点。  第13章“Android应用程序概述及框架”,介绍Android应用程序层的基本概念和应用程序...

    基于ARM Cortex-A8和Android 4.x的联动报警系统 (Android 、A8、Linux、驱动、NDK)

    第二部分内容,先简单讲解Android系统移植相关原理,然后一步步手把手教大家如何进行Linux内核移植、Android源码编译、以及Android到Cortex A8开发板的移植;第三部分内容,先教大家如何搭建裸机开发环境,然后带领...

    Android源代码结构分析.pdf

    在该目录下,我们可以找到多个子目录,例如 android(Android操作系统的预编译模块)、linux(Linux内核的预编译模块)等。 13. SDK 目录:SDK 目录是Android操作系统的软件开发工具目录,负责提供开发工具和库文件...

    Android RIL introduction

    在 Android 中,RIL 被实现为一个叫做 rild 的库,通过一个系统环境变量 ro.radio.noril 来决定是否编译 RIL 的代码进内核。如果设置了该变量,将会编译一个"SimulateCommand",它可以在没有实际 GSM 硬件的情况下...

Global site tag (gtag.js) - Google Analytics