gpt4 book ai didi

linux-kernel - 使用 Sourcery 工具链在 Windows 上为 ARM 交叉编译 Linux 内核

转载 作者:行者123 更新时间:2023-12-02 00:25:47 26 4
gpt4 key购买 nike

我正在尝试交叉编译 Linux kernel对于 Windows 主机上的 ARM 目标 ( Freescale i.Mx28 )。我知道与使用 Linux 主机相比,这种方法并不是最好的方法,但不幸的是,这不是由我决定的。

限制是:

  • 内核必须是 Freescale 提供的内核 ( L2.6.35_MX28_SDK_10.12 )
  • 它必须使用 Sourcery 构建 Toolchain and CodeBench
  • 整个过程必须在 Windows 上完成

  • 到目前为止,我解决了 Windows 上缺少的区分大小写问题,以便我可以使用 Cygwin 提取内核源代码。但是现在我遇到了内核 Makefile 的问题。我认为 Windows 路径存在一些问题,因为我收到错误消息 *** multiple target patterns. Stop. ,来自 :在配置时与依赖项检查有关的路径和其他错误:
          HOSTCC  scripts/basic/fixdep
    /usr/bin/sh: scripts/basic/fixdep: cannot execute binary file
    make[1]: *** [scripts/basic/fixdep] Error 126
    make: *** [scripts_basic] Error 2

    有没有一种方法可以移植 Makefile 而不必重写它,或者是否有另一种方法可以在不使用给定 Makefile 的情况下构建内核?我可以使用 sourcery 工具链或 IDE 来处理 Makefile 吗?
    有没有办法在给定的限制内构建内核?

    最佳答案

    要交叉编译内核,您需要两个编译器:一个能够构建在您的构建环境中运行的工具,另一个可以为您的目标创建可执行文件。

    看起来您并没有真正进行交叉编译,但您刚刚更换了编译器。您现在正在构建 ARM 构建所需的工具,并尝试在 Windows 上运行它们。

    您可以指定要使用的交叉编译器:

    make ARCH=arm CROSS_COMPILE=your-compiler-prefix- ...

    您也可能有文件系统问题。 Windows 中的文件系统不区分大小写,内核构建可能会创建大小写重要的文件。要在 Windows 上获得对不区分大小写的文件系统的支持,您可以查看 Windows Services for UNIX .

    关于linux-kernel - 使用 Sourcery 工具链在 Windows 上为 ARM 交叉编译 Linux 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8964012/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com