rek*_*ire 2 linux kernel makefile cross-compiling buildroot
我正在尝试设置buildroot以交叉编译自定义应用程序.
/ # uname -a
Linux Venus 2.6.12.6-VENUS #323634 Wed May 25 13:40:36 CST 2011 mips unknown
Run Code Online (Sandbox Code Playgroud)
到目前为止,我在buildroot中选择了内核版本2.6.12.6.现在我遇到的问题是该make命令没有大喊该规则headers_install是未知的.
这是完成输出:
~/buildroot-2011.11$ make
(cd /root/buildroot-2011.11/output/toolchain/linux-2.6.12.6; \
/usr/bin/make -j2 ARCH=mips \
HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \
HOSTCXX="/usr/bin/g++" \
INSTALL_HDR_PATH=/root/buildroot-2011.11/output/toolchain/linux headers_install; \
)
make[1]: Entering directory `/root/buildroot-2011.11/output/toolchain/linux-2.6.12.6'
Makefile:485: .config: Datei oder Verzeichnis nicht gefunden
make[1]: *** Keine Regel, um »headers_install« zu erstellen. Schluss.
make[1]: Leaving directory `/root/buildroot-2011.11/output/toolchain/linux-2.6.12.6'
make: *** [/root/buildroot-2011.11/output/toolchain/linux/.configured] Fehler 2
Run Code Online (Sandbox Code Playgroud)
我认为问题是这个旧内核在其makefile中没有这个选项.
我的下一个尝试是使用新内核3.2.6的Makefile和scripts目录替换旧内核.
这是输出:
# make
(cd /root/buildroot-2011.11/output/toolchain/linux-2.6.12.6; \
/usr/bin/make -j2 ARCH=mips \
HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \
HOSTCXX="/usr/bin/g++" \
INSTALL_HDR_PATH=/root/buildroot-2011.11/output/toolchain/linux headers_install; \
)
make[1]: Entering directory `/root/buildroot-2011.11/output/toolchain/linux-2.6.12.6'
CHK include/linux/version.h
HOSTCC scripts/basic/fixdep
HOSTCC scripts/unifdef
Makefile:1059: *** Headers not exportable for the mips architecture. Schluss.
make[1]: Leaving directory `/root/buildroot-2011.11/output/toolchain/linux-2.6.12.6'
make: *** [/root/buildroot-2011.11/output/toolchain/linux/.configured] Fehler 2
Run Code Online (Sandbox Code Playgroud)
不知道我现在可以尝试什么.我该怎么办?
构建交叉编译工具链的所有现代工具都依赖于实现headers_install目标的内核.因此,正如Shawn所建议的那样,你可以尝试使用较旧的Buildroot版本,但我认为我们已经使用了headers_install相当长的时间,所以你必须回到过去,并面临许多其他问题.
那么升级你的内核呢?
| 归档时间: |
|
| 查看次数: |
2575 次 |
| 最近记录: |