原文网址:buildroot技巧_IT利刃出鞘的博客-CSDN博客
方法:ctrl+Backspace(退格)
按两次Esc
Cannot execute cross-compiler '/work/tools/usr/local/arm/4.3.2/bin/arm-linux-gcc'
分析:去/work/tools/usr/local/arm/4.3.2/bin/路径,ls -l查看,发现arm-linux-gcc是个软链接,指向
arm-none-linux-gnueabi-gcc
方法:将Toolchain prefix 改为 arm-none-linux-gnueabi
继续sudo make;
出错:Cannot execute cross-compiler '/work/tools/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi'
分析:因为虚拟机Ubuntu16.04用的是64位的,而arm-linux-gcc是32位的
方法:下载32位的库:
debian版:sudo apt-get install ia32-libs
其他版本:
sudo dpkg --add-architecture i386 //先添加32bit架构
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
make[1]: Entering directory '/work/projects/buildroot/buildroot-2018.02.4/output/build/uboot-2012.04.01'
make: *** No rule to make target `JZ2440_config'. Stop.
Makefile:662: recipe for target 'JZ2440_config' failed
原因:
buildroot 在make menuconfig时:
Bootloaders ---> (JZ2440) U-Boot board name
然而,百问网提供的补丁:u-boot-2012.04.01_100ask.patch,这个补丁修改了boards.cfg,添加了一行:
smdk2440 arm arm920t - samsung s3c24x0
而这个第一列,就是开发板的名字,所以,make menuconfig 时,
Bootloaders ---> (JZ2440) U-Boot board name处不应该填JZ2440,应该填smdk2440