Build 我的位置工具链在哪里?

Build 我的位置工具链在哪里?,build,makefile,kernel-module,toolchain,Build,Makefile,Kernel Module,Toolchain,我最近在BeagleBoard xM上安装了一个toochain,它的目标是ARM架构: opkg安装任务本机sdk 现在,我想运行make,以构建一个模块。由于这个原因,我必须编辑Makefile。Makefile说明参考: 确保$PATH变量包含将用于交叉编译模块的工具链的位置 我可以看到在usr下有一个arm-angstrom-linux-gnueabi文件夹。这就是我要找的吗?在这种情况下,我应该编辑:CROSS\u COMPILE:=/usr/arm-angstrom-linux-gn

我最近在BeagleBoard xM上安装了一个toochain,它的目标是ARM架构:
opkg安装任务本机sdk

现在,我想运行
make
,以构建一个模块。由于这个原因,我必须编辑Makefile。Makefile说明参考:

  • 确保$PATH变量包含将用于交叉编译模块的工具链的位置
  • 我可以看到在
    usr
    下有一个
    arm-angstrom-linux-gnueabi
    文件夹。这就是我要找的吗?在这种情况下,我应该编辑:
    CROSS\u COMPILE:=/usr/arm-angstrom-linux-gnueabi

  • 将KSRC环境变量设置为Beagleboard内核源的位置
  • 如果我是正确的,那么内核源代码位于以下位置:
    usr/src/linux-2.6.32.61
    。这就是我应该编辑的吗?

    你可以这样做

    $~ which arm-angstrom-linux-gnueabi
    
    检查工具链的位置。由于您进行了
    opkg安装
    ,因此它通常会安装在usr/bin中

    如果您可以执行
    哪个arm angstrom linux gnueabi
    ,并且它显示了工具链的位置,这意味着它已经存在于
    PATH
    变量中,那么您不必再次在Makefile中进行设置。
    CROSS\u COMPILE
    变量必须是
    CROSS\u COMPILE:=arm angstrom linux gnueabi-


    KSRC
    必须是beagleboard内核源的源路径,而不是x86 pc的内核源。您可以在pc上为beagleboard构建内核,并在主板上闪存该内核。然后KSRC可能是您构建它的内核的位置。

    我从kernel.org下载了内核源代码,将它们放在BeagleBoard xM上的
    usr/src
    下后,我构建了内核。这不是我的BB xM的源路径吗?我有一个查询。你现在在哪里做这个
    ,我想在我的主目录中运行make,以便构建一个模块。
    board/x86?我运行make,以便在BB xM中构建它。很抱歉没有说清楚。很抱歉,我不太确定BB xM,但通常规则是在构建模块时,KSRC应该是包含内核源代码的路径(运行相同的内核,这是因为配置需要)。如果您已经构建了内核,在板上闪存了内核,并将源代码放到usr/src,那么您的KSRC可以是usr/src
    我最近在BeagleBoard xM上安装了一个toochain
    您的工具链是交叉编译器工具链还是本机ARM工具链?是本机ARM工具链。在这种情况下,我应该在字段“CROSS_COMPILE:”上编辑什么?我认为最好使用交叉编译器工具链在Linux主机上构建模块,然后将编译后的模块
    .ko
    复制到目标机器上。如果是它的本机arm工具链,为什么要交叉编译,只需在驱动程序文件夹中运行make即可。如果是交叉编译,请在x86上交叉编译,然后复制。谢谢你的回复。有一件事我搞不清楚:我将在x86机器上交叉编译。在KVER上,我将编辑BB xM的内核版本(2.6.32),但我必须在KSRC上编辑什么?我是否必须将BB内核源代码复制到x86机器并编辑BB源代码的路径?这是编译的内核源代码吗?