昨天已经能够正确的编译模块了,但并不是交叉编译,编译出来的模块不能再arm linux下加载
file hello.ko可以得到相关信息
hello.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
所以今天尝试了一下编译出arm9(2440)上的模块
运行make ARCH=arm CROSS_COMPILE=arm-linux- ARM进行编译
ARCH指定平台 CROSS_COMPILE指定交叉编译器(课查看内核源码中Makefile文件)
运行中报错:include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory(只粘帖部分信息)
在所使用的内核代码树中(见Makefile中的KDIR路径)执行make prepare就OK了
再次执行make ARCH=arm CROSS_COMPILE=arm-linux- ARM进行编译通过
使用file命令查看hello。ko显示hello.ko: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped
如果再编译过程中有找不到arm-linuc-gcc工具的可以编辑~/.bashrc文件
添加工具
例如:export PATH=$PATH:/home/XFish/Workstation/Arm-Tool/usr/local/arm/4.3.2/bin下一次进入这个用户就可以找到这个工具
或直接将它作为命理执行就可以,但每次退出后都要重新执行这条指令
有错请纠正,转载请注明 xfishxxx@gmail.com