我尝试了一些设置配置来为新板加载 u-boot。我的配置基于 Beagle Bone Black 的 U-boot。我还在https://github.com/PacktPublishing/Mastering-Embedded-Linux-Programming-Second-Edition/blob/master/Chapter03/0001-BSP-for-Nova.patch上对新板进行了一些更改。我克隆了一个新的 u-boot 并站在 master 分支上,为新板制作了配置文件后,我运行了 make。它有2个问题:
- 首先是关于 SYS_TEXT_BASE:
脚本/kconfig/conf --syncconfig Kconfig
.config:22:warning: 符号值 '' 对 SYS_TEXT_BASE 无效
* * 重启配置... * *
- 启动映像 *
启用对 Android 启动映像 (ANDROID_BOOT_IMAGE) [Y/n/?] 的支持
支持扁平化图像树 (FIT) [N/y/?] n
启用对旧图像格式 (IMAGE_FORMAT_LEGACY) [Y/n/?] 的支持
在启动前在设备树中设置板特定的详细信息 (OF_BOARD_SETUP) [N/y/?] n
启动前在设备树中设置系统特定的详细信息 (OF_SYSTEM_SETUP) [N/y/?] n
从 U-Boot (OF_STDOUT_VIA_ALIAS) [N/y/?] n 更新设备树标准输出别名
额外选项(已弃用)(SYS_EXTRA_OPTIONS)[]
文本库 (SYS_TEXT_BASE) [](新)
然后我搜索 SYS_TEXT_BASE 并输入一个随机文本库:0xfff10000。但我认为它不适合 Beagle Bone。
- 错误LINUX_ARM_ARCH
在 ./arch/arm/include/asm/system.h:6:0 包含的文件中,
from ./arch/arm/include/asm/cache.h:11, from include/net.h:15, from include/common.h:517, from lib/asm-offsets.c:14:
./arch/arm/include/asm/barriers.h:32:24: error: operator '>=' has no left operand #if LINUX_ARM_ARCH >= 7 ^~
./arch/arm/include/asm/barriers.h:36:26:错误:运算符“==”没有左操作数#elif LINUX_ARM_ARCH == 6 ^~ Kbuild:43:目标“lib/asm-offsets”的配方.s' 失败
make[1]: *** [lib/asm-offsets.s] 错误 1
Makefile:1575: 目标“prepare0”的配方失败
make: *** [prepare0] 错误 2
对于第二个问题,这是由于在 master 上重命名了一个 Kconfig 选项(CPU_V7 到 CPU_V7A)。我将 Kconfig CUP_V7A 更改为 CPU_V7,但仍然有同样的问题。请查收,谢谢。