u-boot Guide for Le Potato AML-S905X-CC

edited September 2019 in AML-S905X-CC
The boot priority of Le Potato is as follows: eMMC then SD. The current version of u-boot found in the images is the 2019.04 release. The next u-boot release is expected to be u-boot 2019.10. The bootrom of the SoC will look for u-boot at a fix offset on the block devices which do not conflict with MBR partitioning but prevents images from using GPT partitioning. On eMMC, there are boot0 and boot1 partitions which can be flashed with u-boot to allow GPT partitioning.
u-boot embedded in the images is configured to load device tree blob, EFI application, and syslinux from the first FAT32 or ext2/3/4 partition on supported block devices. If it fails to find the necessary boot files, it will attempt to boot from TFTP server configured by DHCP.
  1. Attempts to read secondary device tree from first partition with the path dtb/libre-computer/aml-s905x-cc/platform.dtb
  2. Attempts to read boot animation from first partition with the path boot.bmp
  3. Attempts to read u-boot script from first partition with the path boot.scr
  4. Attempts to read custom configuration ini from first partition with the path boot.ini
  5. Attempts to read and boot the EFI bootloader from first partition with the path EFI/boot/BOOTAA64.EFI
You can override the u-boot behavior by creating boot.scr with your own script within the images. Please note that while u-boot will save the env to the first FAT partition as boot.env, it will not load the file. Please use boot.ini to set environment variables.

To interrupt the normal boot process and enter the u-boot command line, double tap ESC after power on. From there you can manually enter u-boot commands.
For example, you can create an extlinux.conf in the path extlinux/extlinux.conf and then run `run boot_extlinux` to load it and boot Linux that way.

Memory layout for Le Potato is as follows:
  • 01000000 16M 512K TEXTBASE
  • 01080000 16.5M 111.5M PXE ADDR
  • 08000000 128M 32K SCRIPT ADDR
  • 08008000 128M+32K 480K FDT ADDR
  • 08080000 128.5M 127.5M KERNEL ADDR
  • 11000000 272M 32M SPLASH IMAGE
  • 13000000 304M RAMDISK
boot.ini configuration options
  • emmc=4.x #disables hs200 support and limits max frequency
  • cvbs=0 #disables cvbs output
  • sd_uhs=1 #enables UHS SDR50 mode (some SD card will get stuck on reboot so it is disabled by default)
  • efuse=rw #enables writing of efuse


Sign In or Register to comment.