关于在 Ubuntu VM(64 位)上安装 ARM 工具链的建议

Posted

技术标签:

【中文标题】关于在 Ubuntu VM(64 位)上安装 ARM 工具链的建议【英文标题】:Advice regarding installing ARM toolchain on Ubuntu VM (64bit) 【发布时间】: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

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

【问题讨论】:

【参考方案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)。

    解压

    tar xvf arm-2013.05-24-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
    

    打开 bashrc

    vi .bashrc
    

    最后添加下面的命令

    export PATH=$PATH:path to toolchainarm-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"

【讨论】:

sourcery.mentor.com/sgpp/lite/arm/portal/… ..它不是开源的..对吧? 下载精简版或者你可以从linaro-toolchain下载它的开源launchpad.net/linaro-toolchain-binaries【参考方案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”

以上是关于关于在 Ubuntu VM(64 位)上安装 ARM 工具链的建议的主要内容,如果未能解决你的问题,请参考以下文章

无法在 64 位 ubuntu 上安装 32 位库

关于VM虚拟机上运行UBUNTU使用代理的问题!

sh 在64位Ubuntu服务器上安装Dropbox

oracle vm virtualbox虚拟机怎么用

安装VM-tools

在Ubuntu 18.04上安装pythonnet,在Python 3.6.7 64位,Mono 5.16上安装失败