交叉编译mips(ubuntu)
时间:2022-04-03 12:16
使用buildroot进行交叉编译,网上的教程很多,按照教程一步一步就OK了。主要记录几个遇到的问题。
mips & gdb
设置环境变量 在低版本的编译过程中,有可能出现这样的错误: make menuconfig出错 make[1]: Leaving directory `/home/router/buildroot/support/kconfig‘ make: *** [/home/router/buildroot/output/build/buildroot-config/mconf] Error 2 错误原因:ncurses是字符终端下屏幕控制的基本库。可能很多新开发的程序已经不再使用。编译一些老的程序,还是会经常碰到。 解决: 在make menuconfig之前加上: sudo apt-get install libncurses5-dev 参考: 当本机是kernel2.6的时候,使用buildroot2016.08编译的时候出错。错误如下: package/linux-headers/linux-headers.mk:137: *** LINUX_HEADERS_SITE cannot be empty when LINUX_HEADER 因为找不到相应的header,我这里是在buildroot2016.08中编译kernel为2.6的时候出错。 猜测: 原因是因为相应的kernel header找不到。 在toolchain中选择内核时,会列举一部分,也可以手动选择。猜测,列举的部分是buildroot已经包含,而手动选择会需要去进行下载,可能是通过linux的渠道(我这里是ubuntu,猜测是ubuntu的源)。 而现在是 2.6可能已经不包含在以前的下载路径中(我在使用sudo apt-cache search linux-image搜索内核时找不到2.6的内核),而我在ubuntu14.04(kernel为3.13),手动选择为3.13时make没有出现该错。 解决: 选择一个低版本的buildroot,我这里选择的是2011.08