2

我需要将 u-boot 配置为立即启动(禁用按键以中断提示)以进行 yocto 构建。

为此,我添加了以下 bbappend:

# u-boot_%.bbappend

FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"

SRC_URI_append_edge = " \
  file://disable-boot-delay.cfg \
"

disable-boot-delay.cfg看起来像这样:

CONFIG_AUTOBOOT_KEYED=y
CONFIG_AUTOBOOT_KEYED_CTRLC=n
CONFIG_BOOTDELAY=-2

这成功禁用了引导提示,但也会导致安装 u-boot 的 FAT 分区损坏:

$ # without above bbappend
$ dosfsck /dev/mapper/loop0p1
fsck.fat 4.1 (2017-01-24)
/dev/mapper/loop0p1: 49 files, 6510/20431 clusters
$ # with above bbappend
$ dosfsck /dev/mapper/loop0p1
fsck.fat 4.1 (2017-01-24)
/OVERLAYS/.
  Bad short file name (.).
1) Drop file
2) Rename file
3) Auto-rename
4) Keep it
? 4
/OVERLAYS/..
  Bad short file name (..).
1) Drop file
2) Rename file
3) Auto-rename
4) Keep it
? 4
/dev/mapper/loop0p1: 49 files, 6510/20431 clusters

对于这种更改如何导致文件系统损坏,我非常非常困惑。

环境:

  • 约克托战士 (2.7)
  • 元树莓派(战士分支)
  • RPI_USE_U_BOOT = "1"

有无workdir/build/.config上述附加的区别:

229c229
< CONFIG_BOOTDELAY=2
---
> CONFIG_BOOTDELAY=-2
306c306,311
< # CONFIG_AUTOBOOT_KEYED is not set
---
> CONFIG_AUTOBOOT_KEYED=y
> CONFIG_AUTOBOOT_PROMPT="Autoboot in %d seconds\n"
> # CONFIG_AUTOBOOT_ENCRYPTION is not set
> CONFIG_AUTOBOOT_DELAY_STR=""
> CONFIG_AUTOBOOT_STOP_STR=""
> # CONFIG_AUTOBOOT_KEYED_CTRLC is not set
4

0 回答 0