U-boot (Olimex Debian image) sometimes fails to boot - fs_devread read error

Started by DominiqueF, March 10, 2022, 12:38:14 PM

Previous topic - Next topic


Hello everyone,

I'm having trouble resolving (or even pinpointing) boot failures with the U-Boot shipped with the latest stable Debian (minimal) image from the Olimex images (2021-11-30). The only notable hardware configuration of this system is (a) LCD-OLinuXino-7RTS and (b) UART2 overlay enabled and RX/TX permanently wired, no other additions or modifications. Because of (a), Ethernet is kept in reset with a shunt on the corresponding jumper pins.

In (very roughly, but it is indeed this regular) about 1 out of 10 boots there occurs an fs_devread read error (at least this is the first log message that differs from the regular output, thus I'm assuming this not a false-positive or pseudo-error) and after that it fails to boot due to being unable to load the boot.scr script. It then falls back to TFTP and obviously gets stuck forever. The full log is attached below.

Searching for this error I only found very few discussions, which are usually about SD card quality and selection. However, this happens both when booting from SD card or from eMMC (the latter one being the actual prod configuration of this device). Furthermore, it happens on 'all' devices, at least I was able to observe this on the three boards lying around here.

If anyone has encountered something similar or has an idea on what may be useful to further investigate, I'd be thankful. If not, I'd also be happy to hear ideas on how to implement an autoreset in case the boot fails. As the boot.scr cannot be loaded, I'm afraid the only option is to compile a new version from scratch?


U-Boot SPL 2021.04+olimex-1-20211223.094223 (Dec 23 2021 - 09:43:34 +0000)
DRAM: 1024 MiB
Trying to boot from MMC2
NOTICE:  BL31: v2.0(debug):
NOTICE:  BL31: Built : 23:33:29, Nov 27 2018
NOTICE:  BL31: Detected Allwinner A64/H64/R18 SoC (1689)
NOTICE:  BL31: Found U-Boot DTB at 0x40b1870, model: Olimex A64-Olinuxino-eMMC
INFO:    ARM GICv2 driver initialized
INFO:    Configuring SPC Controller
NOTICE:  BL31: PMIC: Detected AXP803 on RSB.
INFO:    BL31: Platform setup done
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for 843419 was applied
INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x4a000000
INFO:    SPSR = 0x3c9

U-Boot 2021.04+olimex-1-20211223.094223 (Dec 23 2021 - 09:43:34 +0000) Allwinner Technology

CPU:  Allwinner A64 (SUN50I)
Model: Olimex A64-Olinuxino-eMMC
DRAM:  1 GiB
MMC:  mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from EXT4... MMC: no card present
Detected LCD-OLinuXino-7RTS, Rev.B, Serial:00015e80
In:    serial
Out:  vidconsole
Err:  vidconsole
Allwinner mUSB OTG (Peripheral)
Net:  eth1: usb_ether
starting USB...
Bus usb@1c1a000: USB EHCI 1.00
Bus usb@1c1a400: USB OHCI 1.0
Bus usb@1c1b000: USB EHCI 1.00
Bus usb@1c1b400: USB OHCI 1.0
scanning bus usb@1c1a000 for devices... 1 USB Device(s) found
scanning bus usb@1c1a400 for devices... 1 USB Device(s) found
scanning bus usb@1c1b000 for devices... 1 USB Device(s) found
scanning bus usb@1c1b400 for devices... 1 USB Device(s) found
      scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
 ** fs_devread read error **
Failed to load '/boot/boot.scr'
## Executing script at 4fc00000
Wrong image format for "source" command
SCRIPT FAILED: continuing...
MMC: no card present
Scanning disk mmc@1c0f000.blk...
Disk mmc@1c0f000.blk not ready
Scanning disk mmc@1c11000.blk...
Found 2 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
MMC: no card present

Device 0: unknown device
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC xx:xx:xx:xx:xx:xx
HOST MAC xx:xx:xx:xx:xx:xx
RNDIS ready
The remote end did not respond in time.missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-de-ad-be-ef-00-01
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in


Technical support and documentation manager at Olimex