【发布时间】:2014-03-19 16:47:43
【问题描述】:
我最近在 BeagleBoard-xM 上安装了一个针对 ARM 架构的工具链:
opkg install task-native-sdk.
现在,我想运行make,以构建一个模块。因此,我必须编辑 Makefile。 Makefile说明参考:
- 确保 $PATH 变量包含您将用于交叉编译模块的工具链的位置。
我可以看到usr 下有一个arm-angstrom-linux-gnueabi 文件夹。这就是我要找的吗?在这种情况下,我应该编辑:CROSS_COMPILE := /usr/arm-angstrom-linux-gnueabi
- 将 KSRC 环境变量设置为 Beagleboard 内核源的位置。
如果我是正确的,内核源代码位于:usr/src/linux-2.6.32.61。那是我应该编辑的吗?
【问题讨论】:
-
I recently installed a toochain on BeagleBoard-xM你的工具链是交叉编译工具链还是Native ARM工具链? -
是原生 ARM 工具链。在这种情况下,我应该在字段“CROSS_COMPILE:”上编辑什么?我认为最好在Linux主机上用交叉编译工具链构建模块,然后将编译好的模块
.ko复制到目标机器。 -
如果它的原生 arm 工具链为什么要交叉编译它,只需在驱动程序文件夹中运行 make。如果是交叉编译器,请在 x86 上交叉编译,然后复制 .ko
-
感谢您的回复。一件事我想不通:我将在 x86 机器上进行交叉编译。在 KVER 上我将编辑 BB-xM 的内核版本 (2.6.32),但我必须在 KSRC 上编辑什么?是否必须将 BB 内核源复制到 x86 机器并编辑 BB 源的路径?
-
那个内核源代码是编译出来的吗?
标签: build makefile kernel-module toolchain