https://github.com/swarren/u-boot— 我有这个,需要获取二进制文件,这样我终于可以在 Pi 上运行 Raspbian 以外的东西了。
说明是:“cd”到目录..derp。 “制作rpi_2_defconfig”“制作全部”
然而,事情的发展却是这样的——
[*userredacted*@*machineredacted* u-boot-tegra_dev] $ make rpi_2_defconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
[user/machineredacted* u-boot-tegra_dev] $ make all
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
UPD include/config.h
GEN include/autoconf.mk
GEN include/autoconf.mk.dep
CHK include/config/uboot.release
UPD include/config/uboot.release
CHK include/generated/version_autogenerated.h
UPD include/generated/version_autogenerated.h
CHK include/generated/timestamp_autogenerated.h
UPD include/generated/timestamp_autogenerated.h
CC lib/asm-offsets.s
lib/asm-offsets.c:1:0: error: bad value (armv5) for -march= switch
/*
^
Kbuild:43: recipe for target 'lib/asm-offsets.s' failed
make[1]: *** [lib/asm-offsets.s] Error 1
Makefile:1216: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2
我该如何让它甚至跳过关怀有什么armv5相关的吗?
或者也许有一个简单的标签来满足它以便该过程完成?
据我所知,这是作者没有定义这样的错误。
编辑---只是一点故事.. 除了 NOOBS 和 berryboot 之外绝对没有任何东西可以启动。 bootcode.bin 对于 Arch 分区(500MB fat16,带有 boot 和 lba 标志,第二个 ext4 用于 root,简单提取到分区)或官方 Ubuntu MATE 映像根本不会被读取。说到 berryboot,列表中的每个操作系统(不包括 Ubuntu 或 Arch)在尝试后都会立即失败,抱怨 sha 校验和不匹配。我意识到 SE 上有一个 Pi 部分。但由于其他一切都失败了,他们可能只是建议我使用 NOOBS(除了 Raspbian 之外,它不再提供任何安装)。
所以我想要 u-boot,这样我就可以控制启动并添加我想要的东西。如果有人愿意为我编译它(或任何其他在这个或类似实例中遇到“make”问题的人),那么我们将不胜感激<3
不过,我们还是来回答一下这个问题吧。 ..也许不是特别像标题中所说的那样。
如何编辑此过程以完成程序并完成并具体化 u-boot 源代码中的二进制文件?
答案1
我试图注释掉-march=armv5
“arch/arm/Makefile”中的选项
arch-$(CONFIG_CPU_V7) =$(call cc-option, -march=armv7-a, -march=armv5)
但这样我就得到了不支持的命令错误,用作在armv5汇编中编写的内存屏障。这些命令( mcr
)很可能lib/asm_offset.c
需要在armv7汇编中重写,或者可能在v7中不需要。我认为这些构建适用于早期版本的gcc-arm-gnueabi
编译器。如果可以设置命令行中用于构建 u-boot 的版本,那么它肯定可以工作(这纯粹是猜测,因为我不知道该选项可用)。