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

时间:2014-03-08 07:43:43

标签: linux arm toolchain

尝试在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

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

2 个答案:

答案 0 :(得分:4)

  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

    保存并退出终端。

  4. 然后你可以在没有每次导出的情况下进行交叉编译。

    另外,正确的工具链可根据您的要求选择两种工具链。

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

答案 1 :(得分:3)

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

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