为旧的Linux内核设置Buildroot

我在尝试为旧的Linux内核设置交叉编译器时遇到问题。

cp -dpRf package/config/buildroot-config /tmp/buildroot/buildroot-2009.02/project_build_mips/uclibc/buildroot-config (cd /tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux-2.6.15; \ /usr/bin/make -j1 ARCH=mips \ HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \ HOSTCXX="/usr/bin/g++" \ INSTALL_HDR_PATH=/tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux headers_install; \ ) make[1]: Entering directory `/tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux-2.6.15' Makefile:486: .config: No such file or directory make[1]: *** No rule to make target `headers_install'. Stop. make[1]: Leaving directory `/tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux-2.6.15' make: *** [/tmp/buildroot/buildroot-2009.02/toolchain_build_mips/linux/.configured] Error 2 

注意make[1]: *** No rule to make target 'headers_install'. Stop. make[1]: *** No rule to make target 'headers_install'. Stop. 线。 我在stackoverflow上进行了一次search,发现了这个线程: 为旧内核安装buildroot 。

那家伙和我面临同样的问题。 答案是build议使用旧版本的buildroot。 所以我用了buildroot-2009.02这个buildroot最早的版本,但是仍然得到了同样的结果。

请不要build议我将内核升级到更新的版本,我必须特别使用这个版本。

我很想得到解释,也许有人可以帮我解决这个问题。

提前致谢。

你所显示的错误似乎与构建内核没有关系,而是似乎是在工具链(=交叉编译器)构建期间。 工具链需要安装内核头文件,C库使用它来创建系统调用。 为此,buildroot使用内核的“headers_install”目标。

不幸的是,这个目标仅在Linux 2.6.18中引入。 所以在你的内核版本中,你不能使用buildroot来构建交叉编译器。

我也不知道你应该如何为这样一个旧的内核构建一个交叉编译器。 你可以尝试使用原来的“crosstool”项目(而不是crosstool-NG,这也是现代的)。