【问题】
折腾:
【记录】在Cygwin上用Buildroot为xscale建立交叉工具链
期间,结果在
Downloading kernel headers
的阶段出错:
>>> Downloading kernel headers --2013-09-24 16:44:08-- http://www.kernel.org/pub//linux/kernel/v3.x/linux-linux-2.6.19.1.tar.bz2 Resolving www.kernel.org (www.kernel.org)... 198.145.20.140, 149.20.4.69 Connecting to www.kernel.org (www.kernel.org)|198.145.20.140|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://www.kernel.org/pub//linux/kernel/v3.x/linux-linux-2.6.19.1.tar.bz2 [following] --2013-09-24 16:44:09-- https://www.kernel.org/pub//linux/kernel/v3.x/linux-linux-2.6.19.1.tar.bz2 Connecting to www.kernel.org (www.kernel.org)|198.145.20.140|:443... connected. ERROR: The certificate of `www.kernel.org' is not trusted. ERROR: The certificate of `www.kernel.org' hasn't got a known issuer. --2013-09-24 16:44:10-- http://sources.buildroot.net//linux-linux-2.6.19.1.tar.bz2 Resolving sources.buildroot.net (sources.buildroot.net)... 176.9.16.109 Connecting to sources.buildroot.net (sources.buildroot.net)|176.9.16.109|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2013-09-24 16:44:13 ERROR 404: Not Found. toolchain/kernel-headers/kernel-headers.mk:73: recipe for target `/home/CLi/develop/buildroot/buildroot-2013.05/dl/linux-linux-2.6.19.1.tar.bz2' failed make: *** [/home/CLi/develop/buildroot/buildroot-2013.05/dl/linux-linux-2.6.19.1.tar.bz2] Error 1 CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05 $
如图:
即:
HTTP request sent, awaiting response… 404 Not Found |
【解决过程】
1.其实很明显,就是之前自己把kernel的版本设置为:
linux-2.6.19.1
导致此处找不到。
2.而且本身,好像应该是设置为:
2.6.19.1
而我设置为了:
linux-2.6.19.1
导致要下载的文件都变为:
linux-linux-2.6.19.1.tar.bz2
了。
3.再另外,此处的:
https://www.kernel.org/pub//linux/kernel/v3.x/linux-linux-2.6.19.1.tar.bz2
的地址,也是不对的。
如果版本正确的话,也应该是:
https://www.kernel.org/pub//linux/kernel/v2.6/linux-2.6.19.1.tar.bz2
但是呢,此处,本身的确不存在2.6.19.1的版本。
所以找不到。
4.所以,再去确认一下makefile,然后看看能否填写本地地址,把自己之前已有的:
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\kernel\linux-2.6.19.1.tar.bz2
的路径加进去。或者把linux-2.6.19.1.tar.bz2拷贝到
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\buildroot\buildroot-2013.05\dl
中去。
先去make menuconfig中去看看是否有配置,可加路径。
结果,在Toolchain中,只有:
(linux-2.6.19.1) linux version
大不了只能改为:
(2.6.19.1) linux version
但是到时候,肯定也是下载不成功的。
但是,配置好后,再去拷贝
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\kernel\linux-2.6.19.1.tar.bz2
到:
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\buildroot\buildroot-2013.05\dl
然后继续make,看看是否可以检测到,看看是否可以继续。
5.结果是可以的,都可以继续去解压了:
CLi@PC-CLI-1 ~/develop/buildroot/buildroot-2013.05 $ make /bin/make -j4 HOSTCC="/bin/gcc" HOSTCXX="/bin/g++" silentoldconfig make[1]: Entering directory `/home/CLi/develop/buildroot/buildroot-2013.05' BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/home/CLi/develop/buildroot/buildroot-2013.05/output/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/CLi/develop/buildroot/buildroot-2013.05/output/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/home/CLi/develop/buildroot/buildroot-2013.05/output/build/buildroot-config/tristate.config BUILDROOT_CONFIG=/home/CLi/develop/buildroot/buildroot-2013.05/.config /home/CLi/develop/buildroot/buildroot-2013.05/output/build/buildroot-config/conf --silentoldconfig Config.in make[1]: Leaving directory `/home/CLi/develop/buildroot/buildroot-2013.05' >>> Extracting kernel headers rm -rf /home/CLi/develop/buildroot/buildroot-2013.05/output/toolchain/linux /bin/install -d /home/CLi/develop/buildroot/buildroot-2013.05/output/toolchain/linux-2.6.19.1 bzcat /home/CLi/develop/buildroot/buildroot-2013.05/dl/linux-2.6.19.1.tar.bz2 | \ tar --strip-components=1 -C /home/CLi/develop/buildroot/buildroot-2013.05/output/toolchain/linux-2.6.19.1 -xf -
如图:
【总结】
在cygwin下编译buildroot时,由于自己之前设置的的kernel的版本是:
2.6.19.1
但是由于:
- 之前自己的版本号写错了linux-2.6.19.1
- 实际该是2.6.19.1
- 导致文件变成:linux-linux-2.6.19.1.tar.bz2
- buildroot中的地址没更新
- kernel官网本身就不存在此2.6.19.1版本的
所以无法找到此版本的kernel,所以才出错的。
解决办法:
本地之前就有:linux-2.6.19.1.tar.bz2
所以拷贝到对应的dl路径下:
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\buildroot\buildroot-2013.05\dl
然后继续编译,即可。
转载请注明:在路上 » 【已解决】cygwin下编译buildroot在Downloading kernel headers时出错:HTTP request sent, awaiting response… 404 Not Found