我通过 make 启动 Buildroot。编译进度成功。
在安装过程中,它试图复制/output/build/uboot/SPL,但是那个文件夹不存在。相反,/output/build/uboot/spl 存在。
- 我将 spl 文件夹名称更改为 SPL
- 再次运行 make 但出现了 .stamp_images_installed failed 错误。检查帖子的末尾以获取完整的错误日志。
- 为了解决这个问题,我想重新构建目标,所以我删除了 output/target 文件夹和下面的所有 .stamp_images_installed 文件output/build 但我仍然遇到 .stamp_images_installed failed 错误。
为什么 Buildroot 仍然给我这个错误?我做错了什么?
我的完整错误日志如下;
>>> uboot e1cbe8c74e87036e649b0e34656aebabb3aa00c7 Installing to target
>>> uboot e1cbe8c74e87036e649b0e34656aebabb3aa00c7 Installing to images directory
cp -dpf /home/mei/buildroot/output/build/uboot-e1cbe8c74e87036e649b0e34656aebabb3aa00c7/u-boot.bin /home/mei/buildroot/output/images/
cp -dpf /home/mei/buildroot/output/build/uboot-e1cbe8c74e87036e649b0e34656aebabb3aa00c7/u-boot.img /home/mei/buildroot/output/images/
cp -dpf /home/mei/buildroot/output/build/uboot-e1cbe8c74e87036e649b0e34656aebabb3aa00c7/SPL /home/mei/buildroot/output/images/
cp: -r not specified; omitting directory '/home/mei/buildroot/output/build/uboot-e1cbe8c74e87036e649b0e34656aebabb3aa00c7/SPL'
package/pkg-generic.mk:320: recipe for target '/home/mei/buildroot/output/build/uboot-e1cbe8c74e87036e649b0e34656aebabb3aa00c7/.stamp_images_installed' failed
make[1]: *** [/home/mei/buildroot/output/build/uboot-e1cbe8c74e87036e649b0e34656aebabb3aa00c7/.stamp_images_installed] Error 1
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2
谢谢!
有一个名为 spl
的文件夹 (小写),但我们正在寻找一个名为 SPL
的文件 (大写)。当您构建第一阶段引导加载程序时,它可能有不同的名称,具体取决于平台。通常名称是 u-boot-spl.bin
, 它位于 spl
内目录。但是,某些平台为此文件使用不同的名称(出于历史原因)。对于 iMX6,文件名为 SPL
它直接驻留在 U-Boot 目录中。
但是,在您的情况下,显然是 SPL
文件没有建立。这可能是因为您使用的 U-Boot 配置不是以该名称构建的。如果您实际上是为 iMX6 构建,这表明您的 U-Boot 配置有问题。如果您正在为其他一些 SoC 构建,它是 Buildroot 的 BR2_TARGET_UBOOT_SPL_NAME
选项设置不正确。
我是一名优秀的程序员,十分优秀!