Ubuntu arm 交叉编译 and snapcraft
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu arm 交叉编译 and snapcraft相关的知识,希望对你有一定的参考价值。
参考技术A https://howtoinstall.co/en/ubuntu/xenial/gcc-aarch64-linux-gnusudo apt-get update
sudo apt-get install gcc-aarch64-linux-gnu
aarch64-linux-gnu-gcc -v
写makefile or cmake 的时候指定根据平台编译器的版本。
CXX = /usr/bin/aarch64-linux-gnu-g++
snapcraft -d --target-arch=aarch64
默认是amd64
ubuntu 交叉编译arm linux 内核小例子
下载arm-linux-gcc 4.2.3
http://code.google.com/p/princess-alist/downloads/detail?name=arm-linux-gcc-4.3.2.tgz&can=2&q=
安装arm-linux-gcc 4.2.3
sudo tar xvzf arm-linux-gcc-4.3.2.tar.gz -C /
此时将安装到/usr/local/arm下面
设置环境变量
gedit ~/.profile
在打开的文件最后加入以下命令
export PATH=$PATH:/usr/local/arm/4.3.2/bin
接着执行: source ~/.profile
然后输入 arm-linux-gcc -v ,如果能显示到版本就代表成功了
要编译内核之前,需要先注销一下再进入系统,我也不知道为什么
linux 内核编译
下载linux 2.6.26 内核源代码
解压下载下来的压缩包,修改解压出来的根目录中的makefile文件,定位到193行处
更改
#ARCH ?= $(SUBARCH)
#CROSS_COMPILE ?=
为
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
make menuconfig
选择 Load an Alternate Configation File 回车
删除.config, 输入linux-2.6.26/arch/arm/configs中你要选择的XXXXX_defconfig文件的绝对路径
选择 save an Alternate Configation File 回车
此处显示的是我们刚选择的defconfig文件路径,删除掉,改为linux 2.6.26 解压路径下的.config(XXXXXX/.config)
make zImage
编译顺利的话,几分钟后会在arm/boot 下生成 zImage
参考文章:
http://www.ej38.com/showinfo/linux-104820.html
最后还有一个差不多的例子:
以上是关于Ubuntu arm 交叉编译 and snapcraft的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu配置交叉编译环境(配置交叉编译工具链)配置arm-linux-gcc交叉编译工具链(添加交叉编译工具链(toolchain)到环境变量)
Ubuntu配置交叉编译环境(配置交叉编译工具链)配置arm-linux-gcc交叉编译工具链(添加交叉编译工具链(toolchain)到环境变量)
Ubuntu12.04嵌入式交叉编译环境arm-linu-gcc搭建过程,图解
Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解