【问题标题】:Advice regarding installing ARM toolchain on Ubuntu VM (64bit)关于在 Ubuntu VM(64 位)上安装 ARM 工具链的建议
【发布时间】:2014-04-11 13:46:36
【问题描述】:

尝试在 Ubuntu 虚拟机上为 arm 平台编译 Linux 内核

$make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

失败如下

arm-none-linux-gnueabi-gcc: not found

尝试安装

$sudo apt-get install arm-none-linux-gnueabi-gcc

E: unable to locate package arm-none-linux-gnueabi-gcc

在哪里可以找到正确的包?如何将其包含在系统中? (我在网上发现了几个对我不起作用的链接)。如果您能提供正确的解决方案或参考,那就太好了。

【问题讨论】:

    标签: linux arm toolchain


    【解决方案1】:
    1. https://sourcery.mentor.com/GNUToolchain/下载arm-2013.05-24-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

      https://sourcery.mentor.com/sgpp/lite/arm/portal/subscription?@template=lite

      获取 arm-none-linux-gnueabi 工具链的正确版本(即针对 GNU/Linux 而不是 EABI)。

    2. 解压

      tar xvf arm-2013.05-24-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
      
    3. 打开 bashrc

      vi .bashrc
      

      最后添加下面的命令

      export PATH=$PATH:{path to toolchain}arm-2013.05/bin
      

      例如export PATH=$PATH:/home/vinay/under_linux/arm-2013.05/bin

      保存并退出终端。

    然后你可以交叉编译而不用每次导出。

    也采取正确的工具链有两个工具链可供选择根据您的要求。

    Cross compile error "arm-none-eabi-g++ cannot find entry symbol"

    【讨论】:

    【解决方案2】:

    Ubuntu 软件包名称是 gcc-arm-linux-gnueabi/gcc-arm-linux-gnueabihf。

    对于构建内核,使用哪一个没有太大区别。对于构建其他任何东西,“gnueabihf”是硬浮动版本。对于任何现代 ARM 处理器(此声明不包括 Raspberry PI),这都是您想要的。

    【讨论】:

    • 找不到上面提到的包arm-linux-gnuabihf-gcc
    • 抱歉,我一直对他们如何颠倒顺序感到困惑 - 它是 packages.ubuntu.com/search?keywords=gcc-arm-linux-gnueabihf
    • 我需要使用以下命令进行交叉编译..但这还不行..make menuconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
    • 不,您当然需要将命令行调整为安装的二进制名称:arm-linux-gnueabihf- 而不是 arm-none-linux-gnueabi-
    • gcc-arm-linux-gnueabihf 不足以为 aarch64 编译内核。该过程将失败并出现错误:“linux kernel unknown type name __uint128_t”
    猜你喜欢
    • 2012-07-29
    • 1970-01-01
    • 2016-06-16
    • 2018-08-21
    • 2014-05-29
    • 1970-01-01
    • 2014-07-21
    • 2015-09-14
    • 2014-01-20
    相关资源
    最近更新 更多