LS1088ARDB/LS1088ARDB-PB - How to update U-Boot binary on SD card

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1088ARDB/LS1088ARDB-PB - How to update U-Boot binary on SD card

LS1088ARDB/LS1088ARDB-PB - How to update U-Boot binary on SD card

This how-to topic is applicable only to LSDK 18.09 and older releases. For LSDK 18.12 and newer releases, refer LS1088ARDB-PB - How to deploy TF-A binaries on SD card.

Follow these steps to update U-Boot binary on the SD card. 

Prerequisites 

  • Ubuntu 18.04 64-bit should be installed on the Linux host machine for building LSDK 18.06 or LSDK 18.09 U-Boot binary.

 

Compiling U-Boot binary

Clone the u-boot repository.

  1. $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot.git
  2. $ cd u-boot
  3. $ git checkout -b <new branch name> LSDK-<LSDK version>. For example, $ git checkout -b LSDK-18.09 LSDK-18.09 
  4. $ export ARCH=arm64
  5. $ export CROSS_COMPILE=aarch64-linux-gnu-
  6. $ make distclean
  7. Execute appropriate defconfig file:
    • For LS1088ARDB: $ make ls1088ardb_sdcard_qspi_defconfig
    • For LS1088ARDB-PB: $ make ls1088ardb_pb_sdcard_qspi_defconfig
  8. If required, make changes to the U-Boot files.
  9. $ make

If the make command shows the error "*** Your GCC is older than 6.0 and is not supported", ensure that you are using Ubuntu 18.04 64-bit version for building LSDK 18.06 or LSDK 18.09 U-Boot binary. 

The compiled U-Boot image, u-boot-with-spl.bin, is available at u-boot/.

SD card start block number for U-Boot binary

Image SD card start block number
U-Boot binary0x00800 = 2048

Refer the Flash layout for boot flow with PPA – LSDK 18.09 and older releases for a complete listing of the SD card start block numbers for all LSDK firmware images. 

  

Programming U-Boot binary to SD card

  1. Plug the SD card into the Linux host.
  2. Run the following command on the Linux host:
    • $ sudo dd if=u-boot-with-spl.bin of=/dev/sdX bs=512 seek=2048 conv=fsync

      Use the command cat /proc/partitions to see a list of devices and their sizes to

      make sure that the correct device names have been chosen.

      The SDHC storage drive in the Linux PC is detected as /dev/ sdX, where X is a letter such as a, b, c. Make sure to choose the correct device name, because data on this device will be replaced.

      If your Linux host machine supports read/write SDHC card directly without an extra SDHC card reader device, the device name of SDHC card is typically mmcblk0.

        
  3. Remove the SD card from the Linux host machine.
  4. On the LS1088ARDB/LS1088ARDB-PB, ensure that the switches are set to boot the board from SD card. 
    • For booting from SD card, SW1[1:8] + SW2[1] = 0010_0000_0 
  5. Plug the SD card into the board and boot the board to Ubuntu.

If U-Boot does not find LSDK on the SD card, it will boot TinyDistro from lsdk_linux_arm64_ tiny.itb stored on the SD card.

Labels (1)
Comments

Great guide, thank you !

No ratings
Version history
Last update:
‎09-10-2020 02:38 AM
Updated by: