1.在pc linux 系统上基于linux2.6.32 编译生成hello.ko文件,把hello.ko文件移到以linux2.6.32为内核的linux开发板上,执行insmod hello.ko,成功。

2.把同一个hello.ko文件移植到android开发板,在android串口终端输入insmod hello.ko,失败。显示信息insmod:init_module ‘hello.ko’ failed (Exec format error)。

   查看android系统内核基于linux2.6.36.android内核原文件为forlinx_android2.3_kernel_v1.01.tar.gz,其实是基于linux2.3.6。只是ok6410对其稍作修改。把forlinx_android2.3_kernel_v1.01.tar.gz文件以及arm-linux-gcc-4.3.2.tgz、arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2两个编译器解压安装到linux系统上,怎么安装就不说了。

3.解压forlinx_android2.3_kernel_v1.01.tar.gz至/home/wangben/ 目录下,命令切换至android2.3_kernel_v1.01

#cd /home/wangben/android2.3_kernel_v1.01

#make clean

#make

4.在/home/wangben/android2.3_kernel_v1.01/arch/arm/boot生成uImage.内核即编译完成。

5.编写hello.c

  和Makefile文件   6.把此两个文件放在同一个文件夹hello内。 将命令切换至hello下 #cd /home/wangben/hello #make   生成hello.ko文件。也可以在linux终端使用命令  # make    -C  /home/wangben/android2.3_kernel_v1.01/   M=/home/wangben/hello 也可生成hello.ko文件。 -C 后为android 对应linux源码目录 M为hello.c所在目录。
把文件传送到android开发板根目录。在开发板android串口终端把路径切换为android开发板根目录,执行insmod hello.ko.哈哈。。成功执行了。配android 串口终端如下所示: / # insmod hello.ko
Hello world
/ # lsmod
hello 593 0 - Live 0xbf006000
/ # rmmod hello
 Hello world exit
/ # 大功告成!!

更多相关文章

  1. 2010-02-27 传智播客—Android(二)数据存储和访问 之文件
  2. 通过修改hosts文件成功更新Android sdk .
  3. 全面认识Android中Gradle相关配置文件
  4. Android APK开发 Drawable文件夹下的自定义Drawable文件
  5. Android项目文件结构
  6. Android Studio中创建Selector文件的方法
  7. Android文件读写实例代码

随机推荐

  1. [转]android shape的使用
  2. udacity android 学习笔记: lesson 4 par
  3. android Shader类简介_渲染图像示例
  4. Android位置策略(二)
  5. Android添加工程时出现This template dep
  6. android Audio 应用接口
  7. Android属性之build.prop生成过程分析
  8. android UI进阶之弹窗的使用(2)--实现通讯
  9. Android深入浅出视频中的总结
  10. Android(安卓)中的WiFi学习笔记(转载)