Troubleshooting Boot Issues on Libre Computer AML-S905X-CC

Please first reference Troubleshooting General Boot Issues.

  1. After attaching power, the Red and Blue LEDs should light up. This indicates that the board is powered. Nothing will show up on HDMI or CVBS yet.
  2. At no point after attaching power should the Red LED blink or turn off. If this happens, it means that your power supply is inadequate. Please make sure that you are using a 5V power supply capable of supplying at least 1.5A (1500mA). Not having enough power could cause spontaneous reboots or software errors.
  3. The board will try to read the bootloader from the eMMC and then the MicroSD card from sector 1 (512B). If the correct signed bootloader is detected, the board will begin loading it and turn the Green LED on. If the Green LED does not turn on, it means that the software is not properly flashed onto the storage device.
  4. After about 3 seconds, the bootloader should turn on HDMI and displaying the loading sequence. Certain types of displays with odd resolutions are not supported at this stage and it might not display anything during this step and the next steps. If the Green LED turns green and nothing shows on your screen, please post your screen brand, model, and EDID below.
  5. The bootloader will attempt to EFI boot from a list of block devices:
  • eMMC
  • MicroSD
  • USB Flash Drive
    It looks for an FAT/EFI partition with /boot/bootaa64.efi, loads the file into memory, and executes the it. On our images, bootaa64.efi is GRUB.

Where is the boot documentation of Le Potato? I’m particularly looking for boot order logic.

Something like:

  1. uSD if present and bootable
  2. USB if present and bootable
  3. eMMC if present and bootable
  4. Ethernet if present and bootable

The system boots via two stages.
The board will run through the following sequence to find the bootloader:

  1. eMMC
  2. MicroSD

The bootloader will try the following for the OS:

  1. eMMC
  2. MicroSD
  3. USB

Can eMMC and uSD checks be reversed, such that it checks uSD first, and then eMMC next? This will be easier to recover from an unbootable eMMC when the potato is stuck in a case.

No, eMMC takes precedence. Just mount the eMMC and delete the boot area from sector 1 to 2048 and leave sector 0 with the MBR partition table in tack to boot the MicroSD.

This doesn’t really solve dual-booting, or quick recovery if the primary system is installed to emmc and gets corrupted further in the boot process - preventing a useable system or a state where the emmc boot can be deleted.

Hopefully a future version will give boot preference to the uSD card, allowing quick override of emmc boot when a bootable uSD is present.

You have grub and os-prober for dual boot. Or you can just run bootcmd_xyz in u-boot console to change boot device from the bootloader.