编译U-Boot时Need 'built-in.o'错误
Need 'built-in.o' error when compiling U-Boot
我正在尝试为带有 armv7 处理器的开发板编译 U-Boot。它有一个瑞芯微RK3288处理器。我使用的命令是:
make evb-rk3288_defconfig
export CC=/opt/workspace/sdk/gcc-arm-10.3-2021.07-z86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-
或
export CC=/opt/workspace/sdk/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
然后
make ARCH=arm CROSS_COMPILE=$CC
当我尝试这种方式时出现错误。我得到的错误如下:
.
.
.
HOSTCC tools/lib/ecdsa/ecdsa-libcrypto.o
HOSTCC tools/lib/rsa/rsa-sign.o
HOSTCC tools/lib/rsa/rsa-verify.o
HOSTCC tools/lib/rsa/rsa-mod-exp.o
HOSTCC tools/lib/aes/aes-encrypt.o
HOSTCC tools/lib/aes/aes-decrypt.o
HOSTCC tools/mkimage.o
HOSTCC tools/fit_info.o
HOSTCC tools/fit_check_sign.o
HOSTCC tools/proftool
HOSTCC tools/fdtgrep.o
HOSTCC tools/spl_size_limit
HOSTCC tools/lib/crc8.o
HOSTLD tools/mkenvimage
HOSTLD tools/dumpimage
HOSTLD tools/fit_info
HOSTLD tools/mkimage
HOSTLD tools/fit_check_sign
HOSTLD tools/gen_ethaddr_crc
HOSTLD tools/fdtgrep
AR arch/arm/cpu/built-in.o
make[1]: *** No rule to make target 'arch/arm/cpu/armv7/cache_v7_asm.o', needed by 'arch/arm/cpu/armv7/built-in.o'. Durdu.
make[1]: *** Bitmemiş işler için bekliyor....
CC arch/arm/cpu/armv7/cache_v7.o
make[1]: *** No rule to make target 'arch/arm/lib/vectors.o', needed by 'arch/arm/lib/built-in.o'. Durdu.
make: *** [Makefile:1814: arch/arm/lib] Error 2
make: *** Bitmemiş işler için bekliyor....
CC arch/arm/mach-rockchip/board.o
CC arch/arm/mach-rockchip/cpu-info.o
CC arch/arm/mach-rockchip/boot_mode.o
CC arch/arm/mach-rockchip/sdram.o
CC board/rockchip/evb_rk3288/evb-rk3288.o
CC arch/arm/mach-rockchip/rk3288/clk_rk3288.o
AR board/rockchip/evb_rk3288/built-in.o
CC arch/arm/mach-rockchip/rk3288/rk3288.o
CC arch/arm/mach-rockchip/rk3288/syscon_rk3288.o
make: *** [Makefile:1814: arch/arm/cpu/armv7] Error 2
AR arch/arm/mach-rockchip/rk3288/built-in.o
AR arch/arm/mach-rockchip/built-in.o
root@pardus:/opt/workspace/uboot#
问题是由于 U-Boot 文件下载不完整或损坏所致。它应该可以正确下载。
编译时,应该去掉make ARCH=arm
语句。
我正在尝试为带有 armv7 处理器的开发板编译 U-Boot。它有一个瑞芯微RK3288处理器。我使用的命令是:
make evb-rk3288_defconfig
export CC=/opt/workspace/sdk/gcc-arm-10.3-2021.07-z86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-
或
export CC=/opt/workspace/sdk/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
然后
make ARCH=arm CROSS_COMPILE=$CC
当我尝试这种方式时出现错误。我得到的错误如下:
.
.
.
HOSTCC tools/lib/ecdsa/ecdsa-libcrypto.o
HOSTCC tools/lib/rsa/rsa-sign.o
HOSTCC tools/lib/rsa/rsa-verify.o
HOSTCC tools/lib/rsa/rsa-mod-exp.o
HOSTCC tools/lib/aes/aes-encrypt.o
HOSTCC tools/lib/aes/aes-decrypt.o
HOSTCC tools/mkimage.o
HOSTCC tools/fit_info.o
HOSTCC tools/fit_check_sign.o
HOSTCC tools/proftool
HOSTCC tools/fdtgrep.o
HOSTCC tools/spl_size_limit
HOSTCC tools/lib/crc8.o
HOSTLD tools/mkenvimage
HOSTLD tools/dumpimage
HOSTLD tools/fit_info
HOSTLD tools/mkimage
HOSTLD tools/fit_check_sign
HOSTLD tools/gen_ethaddr_crc
HOSTLD tools/fdtgrep
AR arch/arm/cpu/built-in.o
make[1]: *** No rule to make target 'arch/arm/cpu/armv7/cache_v7_asm.o', needed by 'arch/arm/cpu/armv7/built-in.o'. Durdu.
make[1]: *** Bitmemiş işler için bekliyor....
CC arch/arm/cpu/armv7/cache_v7.o
make[1]: *** No rule to make target 'arch/arm/lib/vectors.o', needed by 'arch/arm/lib/built-in.o'. Durdu.
make: *** [Makefile:1814: arch/arm/lib] Error 2
make: *** Bitmemiş işler için bekliyor....
CC arch/arm/mach-rockchip/board.o
CC arch/arm/mach-rockchip/cpu-info.o
CC arch/arm/mach-rockchip/boot_mode.o
CC arch/arm/mach-rockchip/sdram.o
CC board/rockchip/evb_rk3288/evb-rk3288.o
CC arch/arm/mach-rockchip/rk3288/clk_rk3288.o
AR board/rockchip/evb_rk3288/built-in.o
CC arch/arm/mach-rockchip/rk3288/rk3288.o
CC arch/arm/mach-rockchip/rk3288/syscon_rk3288.o
make: *** [Makefile:1814: arch/arm/cpu/armv7] Error 2
AR arch/arm/mach-rockchip/rk3288/built-in.o
AR arch/arm/mach-rockchip/built-in.o
root@pardus:/opt/workspace/uboot#
问题是由于 U-Boot 文件下载不完整或损坏所致。它应该可以正确下载。
编译时,应该去掉make ARCH=arm
语句。