有时需要使用buildroot编译一个工具软件进行调试使用,又不想自己单独去下载软件然后配置编译,还要解决各种依赖库问题,就在buildroot里面配置自己的编译器然后选中需要的软件工具进行编译,节省开发时间。
安装编译器
[yubo.wang@localhost buildroot-2019.02]$ ls /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin
arm-hisiv300-linux-addr2line arm-hisiv300-linux-elfedit arm-hisiv300-linux-gcc-ranlib arm-hisiv300-linux-nm arm-hisiv300-linux-strings
arm-hisiv300-linux-ar arm-hisiv300-linux-g++ arm-hisiv300-linux-gcov arm-hisiv300-linux-objcopy arm-hisiv300-linux-strip
arm-hisiv300-linux-as arm-hisiv300-linux-gcc arm-hisiv300-linux-gdb arm-hisiv300-linux-objdump
arm-hisiv300-linux-c++ arm-hisiv300-linux-gcc-4.8.3 arm-hisiv300-linux-gprof arm-hisiv300-linux-ranlib
arm-hisiv300-linux-c++filt arm-hisiv300-linux-gcc-ar arm-hisiv300-linux-ld arm-hisiv300-linux-readelf
arm-hisiv300-linux-cpp arm-hisiv300-linux-gcc-nm arm-hisiv300-linux-ld.bfd arm-hisiv300-linux-size
declare -x PATH="/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin:/home/wangyubo/Hi3521A_SDK_V1.0.5.0/osdrv/pub/bin/pc
[yubo.wang@localhost buildroot-2019.02]$ arm-hisiv300-linux-gcc -v
Using built-in specs.
COLLECT_GCC=arm-hisiv300-linux-gcc
COLLECT_LTO_WRAPPER=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../libexec/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/lto-wrapper
Target: arm-hisiv300-linux-uclibcgnueabi
Configured with: '../gcc~linaro-4.8-2013.12/configure' --host=i386-redhat-linux --build=i386-redhat-linux --target=arm-hisiv300-linux-uclibcgnueabi --prefix=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/arm-hisiv300-linux --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-arch=armv5te --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --enable-nls --enable-clocale=gnu --enable-extra-hisi-multilibs --with-sysroot=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/arm-hisiv300-linux/target --with-build-sysroot=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/arm-hisiv300-linux/target --with-gmp=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/host_lib --with-mpfr=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/host_lib --with-mpc=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/host_lib --with-ppl=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/host_lib --with-cloog=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/host_lib --with-libelf=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/host_lib --enable-libgomp --disable-libitm --enable-poison-system-directories --with-libelf=/home/sying/wucaiyuan_toolchain/v300/uclibc_gcc4.8_linaro_toolchain_optimized/install/host_lib --with-pkgversion=Hisilicon_v300 --with-bugurl=http://www.hisilicon.com/cn/service/claim.html
Thread model: posix
gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300)
下载buildroot
配置外部编译器
make menuconfig
Target options --->
Toolchain --->
($(ARCH)-hisiv300-linux-uclibcgnueabi) Toolchain prefix 指定host的编译链,与外部编译链一致,只是名字不同
./output/host/bin/arm-hisiv300-linux-uclibcgnueabi-gcc
编译
make
编译出的文件和库存放目录:
[yubo.wang@localhost buildroot-2019.02]$ ls output/target/
bin dev etc lib lib32 linuxrc media mnt opt proc root run sbin sys THIS_IS_NOT_YOUR_ROOT_FILESYSTEM tmp usr var