U-boot bootdelay

Is there a way to decrease the boot delay for the u-boot prompt on a Le Potato / Sweet Potato? It seems to spend at least 10 seconds there.

I’ve tried

setenv bootdelay 0

saveenv

but I get

Saving Environment to FAT… Card did not respond to voltage select ! : -110

**Bad device specification mmc 0 **

Failed (1)

Boot delay is set to 1 second on all of our bootloaders. If you are referring to GRUB, that is configured in the OS image.

Thanks for the reply. Hmm… In a general sense, how long is normal before it reaches systemd? from turning power on until it starts visibly enabling services, the “[ OK ] …” messages

It takes 3-5 seconds to get to the OS image. How long it takes after grub depends on how the OS image is configured. If you are booting GRUB, it takes approximately another 5 seconds to start Linux.

Without modifying the bootloader and configuring boot.ini, you can start Linux within 5 seconds. If you do a custom bootloader, you can get it down to 2 seconds.

I am seeing 5+ seconds where the LED stays red and I’m not sure what happens there. What power supply do you suggest? The one I’ve been using has output: 5.0 V 3.6A 18.0W

Use an UART cable or display to figure out why it is taking so long. Libre Computer Board Debug Serial UART Connection and Setup Guide

1 Like

I ordered a UART cable and will try that (probably on monday). We’ll see how it goes

1 Like

this is the output I got from sudo screen -L /dev/ttyUSB0 115200

1 SPI:0;CHK:A7;pass!^M
2 Load fip header from SD, - FAIL^M
3 DDR3 chl: Rank0 @ 912MHid15-sz^M
4 ^M
5 set vcck to 1120 mv^M
6 3^M
7 CPU clk: 1200MHz^M
8 DQS-corr enabled^M
9 DDR scramble enabled^M
10 DDR3 chl: Rank0+1 @ 912MHzRegister 2000140 NbrPorts 2^M
11 Staz^M
12 bist_test rank: 0 2-sh^M
13 NOTICE: BL3-1: GXL normal boot!^M
14 NOTICE: BL31: BL33 decompress pass^M
15 mpu_config_enable:system pr[BL31]: tee size: 0^M
16 [BL31]: tee size: 0^M
17 starting USB…^M
18 Bus usb@c9000000: dwc3_meson_gxl_get_phys: usb2 po - 16:20:36 -0400) Libre Compute devicetree: separate^M
19 WDT: Not starting watchdog@98d0^M
20 MMC: mmc@72000: 1, mmc@74000: 0^M
21 Loadmmc1:1… ^M
22 Error (-2): cannot dGXL:BL1:9ac50e:bb16dc;FEAT:ADFC318C:0;POC:0;RCY:0;USB:0;19. gxl g1bf2b53 - luan.yuan@droNOTICE: BL31: v1.3(release):c3714b49be^M
23 NOTICE: BL31: Built : 09:23:36, Jun 20 2023. gxl bl-3.e init ok^M^M
24 OPS=0x84^M^M
25 dmc sec lock^M^M
26 [Image: gxl_v1.1.3509-d977ed20a4 2023-06-20 09:43:46 jenkins@walle02-sh]^M^M
27 21 0d 84 00 af 14 c0 00 f2 ca 73 1a cf 0e e4 fe ^M^M
28 [2.356779 Inits done]^M^M
29 secure task start!^M
30 high task start!^M
31 low task start!^M
32 ERROR: Error initializing runtime service opteed_fast^M
33 ^M
34 ^M
35 U-Boot 2023.07+ (Oct 13 2023Core: 175 devices, 30 uclasses,Unable to read “uboot.env” from etermine file size^M
36 set vddee to 1000 mv^M
37 Board ID =New fip structure!^M
38 Load bl30 from SD, src: 0x00010200, des: 0x013c0000, size: 0x0000d600, part: 0^M
39 Load bl31 from SD, src: 0x00020200, des: 0x05100000, size: 0x0001b800, part: 0^M
40 Load bl33 from SD, src: 0x0003c200, des: 0x01000000, size: 0x00086600, part: 0^M
41 EMMC:400;NAND:81;SD:0;READ:0;0.0;CHK:0;^M
42 no sdio debug board detected ^M
43 TE: 1780396^M
44 ^M
45 BL2 Built : 15:21:18, Aug 28 20rting the controller^M
46 USB XHCI 1.00^M
47 scanning bus usb@c9000000 for devices… (s) found^M
48 scanning usb for storage devices… 0 Storage Device(s) found^M
49 Hit any key to ^H^H^H 0 ^M
50 Scanning for bootflows in all bootdevs^M
51 Seq Method State Uclass Part Name Filename^M
52 — ----------- ------ --------m device 0c45:8073^M
53 2 USB Devicev.part_1’ with efi^M
54 stop autoboot: 1 Failed to get keyboard state fro ----------------^M
55 Scanning global bootmeth ‘efi_mgr’:^M
56 Scanning bootdev ‘mmc@74000.bootdev’:^M
57 Scanning bootdev 'mmc@72000.boot_1 efi/boot/bootaa64.efi^M
58 ** Booting bootflow ‘mmc@72000.bootdeBooting /efi\boot\bootaa64.efi^M
59 ^M
60 ^M^M
61 ^M^[[0;37;40m^[[0;37;40m^[[0;37dev’:^M
62 ^[[0;30;47m^[[?25hWelcome to GRUB!;40mration table^M^M
63 EFI stub: Exiting boot services…^M^M
64 [BL31]: tee size: 0^M
65 [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]^M

This took about 30 seconds. I’m using this image on a Le Potato: debian-12-base-arm64+aml-s905x-cc.img.xz

I’m not really sure what to make of the output as to why it takes that long to reach linux. It does start outputting very shortly after the power is on and I’m using the recommended power supply Amazon.com
so power seems to be OK

  1. You have to turn on timestamps.
  2. You have a bunch of escape characters from whatever terminal you are using. Try to use something else.

do you know of a way to enable timestamps without recompiling the kernel and without grub?

On your terminal application, enable timestamps. There’s no modifications needed to either of those things.

Alright, thanks to librecomputer for the replies -I found out what’s going on with my Le Potato using a UART connector and the terminal program “minicom” as it has timestamps (minicom -O timestamp).

minicom setup: https://www.youtube.com/watch?v=0tCOEO3LCC8

For those using armbian :
armbian and debian have different u-boot configurations for this board. The debian one allows us to change environment variables such as bootdelay, but on armbian may have to build and replace the included version of u-boot (Building with GCC — Das U-Boot unknown version documentation)

All of our software use default behavior from upstream projects. Everything is done from a standards perspective.