I am trying to setup a system in the RBP 3B+ using UBoot as bootloader. I am trying to get it to boot the fastest I can (at the moment, I have a Class 10 SD card) and I am getting around 1.4s from power in the 3V3 rail to UART initialization (I am seeing the UART going from GND to 3V3 which should be the default floating value). I have Uboot DEBUG output enable to see the first characters in the UART as soon as it starts doing things (UBoot); I am getting it printing at around 1.8s (since power up).

I am wondering if there is any chance to improve the time from power up to uboot execution? I am wondering if some config.txt options could help? (I tried with bootcode_delay=0, boot_delay=0, boot_delay_ms=0 without much improvement). Any combinantions of fixup_cd.dat/fixup_x.dat or start_cd.elf/start_x.elf could speed it up? It looked like removing the DTB from the boot partition helped (saving some time). Could the boot sequence taking longer than normal due to my FAT partition table (see below, 11 different partitions)?

I am not sure if I am hitting a wall getting Uboot booting in 1.8s or it can be done faster. Thank you for your help :D

Some context information: - Class 10 SD Card - No USB devices connected. - Ethernet pluged-in. - HDMI Screen connected. - Powering using the standard RBP power supply. - Around 11 partitions in the SD Card (all of them ext4 but the boot one which is FAT32 LBA with bootflag enabled).

  • What do you mean by boot? The Pi has not booted in any usable sense just because the UART has been switched to serial mode.
    – joan
    Jul 9, 2018 at 13:53
  • I am only interested in the time from powering it to UBoot start. I might have stated it some things in the text above wrongly. I assumed that seeing the UART pin going to the default voltage level could mean that there was some booting process going on in the Pi (but I don't have much idea about the technical details / low level of the RBP). Thanks!
    – fernan
    Jul 9, 2018 at 13:58
  • I know nothing of UBoot. With Raspbian (i.e. what I would call a normal boot) the Pi sends diagnostic messages to the UART very early in the boot process.
    – joan
    Jul 9, 2018 at 14:37

1 Answer 1


With the Raspberry Pi 3B+ the foundation has extended the boot process. You can select different boot modes through pull ups on specific GPIO pins. You will also find hints to speed up the boot process. I don't know on which stage in the boot process U-Boot comes to play and if it helps at all. But have a look at the Raspberry Pi boot modes.

  • Thank you very much, Ingo. I am having a look at it. U-Boot would be "substituting" the kernel.img/kernel7.img file in the boot process. Therefore, it is the last step of the RBP boot process.
    – fernan
    Jul 10, 2018 at 22:48
  • @fernan Does my answer help you? You can honor it by up voting and/or accepting it.
    – Ingo
    Jul 10, 2018 at 23:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.