简介
编译内核的时候,由于不同的版本,经常会需要不同版本的工具链。这篇文件会实现怎么切换不同版本的工具链。
使用的工具是update-alternatives。
- 系统最新版本
root@zhou ~/ru/runninglinuxkernel_4.0# arm-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- 安装低版本的 arm-linux-gnueabi-gcc
apt-get install gcc-5-arm-linux-gnueabi
- 查看版本
/usr/bin/arm-linux-gnueabi-gcc-5 -v
gcc version 5.5.0 20171010 (Ubuntu/Linaro 5.5.0-12ubuntu1)
update-alternatives
update-alternatives --install <link> <name> <path> <priority>
- 添加 gcc-5链接控制,并且增加优先级
root@zhou ~/ru/runninglinuxkernel_4.0# update-alternatives --install /usr/bin/arm-linux-gnueabi-gcc arm-linux-gnueabi-gcc /usr/bin/arm-linux-gnueabi-gcc-5 5
- 添加gcc-7版本控制
update-alternatives --install /usr/bin/arm-linux-gnueabi-gcc arm-linux-gnueabi-gcc /usr/bin/arm-linux-gnueabi-gcc-7 7
切换配置
root@zhou ~/ru/runninglinuxkernel_4.0# update-alternatives --config arm-linux-gnueabi-gcc
There are 2 choices for the alternative arm-linux-gnueabi-gcc (providing /usr/bin/arm-linux-gnueabi-gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/arm-linux-gnueabi-gcc-7 7 auto mode
1 /usr/bin/arm-linux-gnueabi-gcc-5 5 manual mode
2 /usr/bin/arm-linux-gnueabi-gcc-7 7 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
root@zhou ~/ru/runninglinuxkernel_4.0# arm-linux-gnueabi-gcc -v
gcc version 5.5.0 20171010 (Ubuntu/Linaro 5.5.0-12ubuntu1)