尝试在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
哪里可以找到正确的包装?如何将其包含在系统中? (我在网上发现了一些对我不起作用的链接).如果您能提供正确的解决方案或参考,那就太好了.
解决方法:
>从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 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”