u-boot bbappend导致文件系统损坏

时间:2019-09-11 15:26:22

标签: yocto u-boot meta-raspberrypi

我需要将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

对于这种变化如何导致文件系统损坏,我感到非常困惑。

环境:

  • Yocto Warrior(2.7)
  • meta-raspberrypi(战士分支)
  • 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

0 个答案:

没有答案