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.
- $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot.git
- $ cd u-boot
- $ git checkout -b <new branch name> LSDK-<LSDK version>. For example, $ git checkout -b LSDK-18.09 LSDK-18.09
- $ export ARCH=arm64
- $ export CROSS_COMPILE=aarch64-linux-gnu-
- $ make distclean
- Execute appropriate defconfig file:
- For LS1088ARDB: $ make ls1088ardb_sdcard_qspi_defconfig
- For LS1088ARDB-PB: $ make ls1088ardb_pb_sdcard_qspi_defconfig
- If required, make changes to the U-Boot files.
- $ 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 binary | 0x00800 = 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
- Plug the SD card into the Linux host.
- 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.
- Remove the SD card from the Linux host machine.
- 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
- 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.