我已经在Ubuntu Linux上下载并解压缩了u-boot-1.1.6。我只想使用GCC编译源代码(不针对任何嵌入式平台的交叉编译)。
我尝试运行提供的MAKEALL
makefile,但“powerpc-linux-gcc:Not Found”正在发生。
我的理解与源代码应编译的平台无关。
在x86上进行编译需要做些什么必要的makefile和环境更改?
我已经采用了最近的代码。仍面临一些问题
我已按照以下步骤在x86上编译它。
make clean;
make coreboot-x86_config
./MAKEALL -C x86
在第3步中,我观察了以下内容:
ravitiwari@RAVI-HP-Pavilion-dv2000-GJ175PA-ACJ:~/u-boot-2013.04$ make clean
ravitiwari@RAVI-HP-Pavilion-dv2000-GJ175PA-ACJ:~/u-boot-2013.04$ make coreboot-x86_config
Configuring for coreboot-x86 - Board: coreboot, Options: SYS_TEXT_BASE=0x01110000
ravitiwari@RAVI-HP-Pavilion-dv2000-GJ175PA-ACJ:~/u-boot-2013.04$ ./MAKEALL -C x86
Configuring for coreboot-x86 - Board: coreboot, Options: SYS_TEXT_BASE=0x01110000
make[1]: ** [interrupts.o] Error 127
make: ** [arch/x86/cpu/libx86.o] Error 2
make[1]: ** [coreboot.o] Error 127
make: ** [arch/x86/cpu/coreboot/libcoreboot.o] Error 2
make[1]: ** [bootm.o] Error 127
make: ** [arch/x86/lib/libx86.o] Error 2
size: './u-boot': No such file
/bin/bash: sparse: command not found
make[1]: ** [interrupts.o] Error 127
make: ** [arch/x86/cpu/libx86.o] Error 2
make: ** Waiting for unfinished jobs....
/bin/bash: sparse: command not found
make[1]: ** [coreboot.o] Error 127
make: ** [arch/x86/cpu/coreboot/libcoreboot.o] Error 2
/bin/bash: sparse: command not found
make[1]: ** [bootm.o] Error 127
make: ** [arch/x86/lib/libx86.o] Error 2
make: INTERNAL: Exiting with 4 jobserver tokens available; should be 3!
--------------------- SUMMARY ----------------------------
Boards compiled: 1
Boards with errors: 1( coreboot-x86 )
答案 0 :(得分:2)
清洁; make coreboot-x86_config;使 更有可能对你有用。
根据我的经验,u-boot是为单个特定的嵌入式平台构建的。即使你的主机是x86,也是如此,所以你已经安装了/ usr / bin / gcc。
你偶然发现了什么(我通过在顶层运行./MAKEALL看到它)想要构建所有可用的嵌入式平台。但它仍将构建特定平台,这是U-Boot任务所固有的。它默认使用powerpc工具链(powerpc-linux-gcc)而不是x86工具链。我的建议是选择一个特定的基于x86的平台,然后构建它。您将在控制台上看到各种编译输出,显示正在发生的事情。
MAKEALL将首先为多个其他平台构建,然后丢弃构建结果。你可以做到 .MAKEALL -c x86 但这隐藏了编译输出。对于其他CPU,您需要安装适当的交叉编译器。