在x86上编译U-BOOT引导程序



我已经下载并解压了Ubuntu Linux上的u-boot-1.1.6。我只是想使用GCC编译源代码(不针对任何嵌入式平台的交叉编译)。

我尝试运行提供的MAKEALL makefile,但"powerpc-linux-gcc: Not Found"正在发生。

我的理解是无论什么平台的源代码都应该编译。

在x86上编译需要做哪些必要的makefile和环境更改?

我已经拿了最近的代码。仍然面临一些问题

我按照以下步骤在x86上编译它。

  1. make clean;
  2. make coreboot-x86_config
  3. ./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 )

make clean;使coreboot-x86_config;使更有可能对你有用。

根据我的经验,u-boot是为单个特定的嵌入式平台构建的。甚至当您的主机是x86时也是如此,因此您已经安装了/usr/bin/gcc。

你偶然发现的东西(我通过在顶层运行./MAKEALL看到它)想要构建所有可用的嵌入式平台。但它仍将构建特定的平台,这是U-Boot任务固有的。它默认使用powerpc工具链(powerpc-linux-gcc)而不是x86工具链。我的建议是选择一个特定的基于x86的平台,然后构建它。您将在控制台中看到各种编译输出,显示发生了什么。

MAKEALL将首先为多个其他平台构建,然后丢弃构建结果。你可以这样做.MAKEALL -c x86但这隐藏了编译输出。对于其他CPU,您需要安装适当的交叉编译器。

最新更新