crosstool-ng编译交叉工具链【转】
转自:https://www.cnblogs.com/kele-dad/p/6697155.html?utm_source=itdadao&utm_medium=referral
一、准备工作
1. 建立工作文件夹

2.下载crosstool-ng
|
1
|
git clone https://github.com/crosstool-ng/crosstool-ng |

crosstool-ng的环境需要libncurse5-dev
|
1
|
sudo apt-get install libncurse5-dev |
3.安装
|
1
|
安装autoconf: sudo apt-get install autoconf<br>进入crosstool-ng目录,执行./bootstrap,生成 configure 执行文件<br><br>检查安装环境,报什么错,就安装什么软件: |
./configure --prefix=`pwd`/crosstool
需要的软件有:sudo apt-get install gperf bison flex texinfo help2man gawk
执行命令 make
执行命令 make instal
export PATH="${PATH}:`pwd`/crosstool/bin"
二、编译链制作
1.根目录下建立三个文件夹
mkdir src x-tools crosstool
进入crosstool目录:
cd ~/.crosstool
|
1
|
执行:ct-ng list-samples |

|
1
|
ct-ng show-arm-cortexa9_neon-linux-gnueabihf |

|
1
|
ct-ng arm-cortexa9_neon-linux-gnueabihf |

|
1
|
ct-ng menuconfig |
Target options ---> 从datasheet中的 BLOCK DIAGRAM 中可以看到
*** Target optimisations ***
(armv7-a) Architecture level :指令集架构,exynos4412为armv7-a架构,-march=name
(cortex-a9) Emit assembly for CPU :CPU核心类型, -mcpu=name
(cortex-a9) Tune for CPU:对CPU的优化,具体可以查看芯片手册,-mtune=name
这些参数都可以gcc里面对应,man gcc然后查找关键字即可
工具链的分类:http://blog.csdn.net/ccskyer/article/details/16864173
kernel下载:https://www.kernel.org/pub/linux/kernel/v4.x/
gcc-linaro下载:http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/
其他工具下载:http://ftp.gnu.org/gnu/
执行编译命令:ct-ng build,开始进行工具链的构建:

2. 编译完成

|
1
|
ls ~/x-tools/arm-cortexa9_neon-linux-gnueabihf/ |

建立环境变量:
|
1
2
|
PATH=~/x-tools/arm-cortexa9_neon-linux-gnueabihf/bin:$PATH/arm-cortexa9_neon-linux-gnueabihf-gcc -v |

3.编译内核
|
1
|
make ARCH=arm CROSS_COMPILE=arm-cortexa9_neon-linux-gnueabihf- exynos_defconfig |

|
1
|
exynos_defconfig是内核自带的配置文件,具体目录在 /arch/arm/config/ 目录中 |
|
1
|
make ARCH=arm CROSS_COMPILE=arm-cortexa9_neon-linux-gnueabihf- zImage modules |

三、报错
1. build failed int step 'Retrieving needed toolchain components' tarballs'

查看log可知道,isl下载出错,进行手动下载:http://isl.gforge.inria.fr/
然后重新编译。
gcc-linaro-6.3-2017.02.tar.xa:http://releases.linaro.org/components/toolchain/gcc-linaro/6.3-2017.02/

浙公网安备 33010602011771号