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. 通过修改hosts文件成功更新Android(安卓)sdk .
  2. Android(安卓)-- 多线程下载
  3. Android(安卓)make脚本简记
  4. MAC下编译arm架构的tcpdump
  5. Android中的Ninja简介
  6. 2010-02-27 传智播客—Android(二)数据存储和访问 之文件
  7. Android(安卓)4.0 Launcher2源码分析——主布局文件
  8. Android系统添加自己写的工具
  9. NPM 和webpack 的基础使用

随机推荐

  1. 安卓中的布局属性详解
  2. Android应用程序的安装位置
  3. Android Studio 创建虚拟机失败 Failed t
  4. react-native-vector-icons(android)的安装
  5. Android(安卓)Transition(Android过渡动画
  6. Android中为窗口定义主题
  7. Android 笔记一:线性布局
  8. android读取功能
  9. Android:LayoutAnimation、布局动画
  10. android进度条