当前位置: 首页 > 工具软件 > Buildroot > 使用案例 >

buildroot技巧

长孙阳焱
2023-12-01

原文网址:buildroot技巧_IT利刃出鞘的博客-CSDN博客

make menuconfig时删除不了字符

方法:ctrl+Backspace(退格)

make menuconfig退出当前界面

按两次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

编译uboot错误

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

 类似资料: