This application report describes the procedure to achieve fast boot using Linux on the DRA821/J7200/J7VCL platform. The details captured here are directed towards replicating the results on the DRA821. However, this concept can be very easily extended to other devices in the Jacinto 7 family.
This document enables achieving a Linux prompt in approximately 3 seconds using an optimized filesystem (tisdk-tiny-image) and reduced DTSI.
All trademarks are the property of their respective owners.
Regarding how to build the Linux/RTOS for DRA821U, see the Understanding bootloaders in Processor SDK J7200 (RTOS/Linux) section.
Regarding how to set up the EVM to test, see the Jacinto7 DRA821 Evaluation Module (EVM) User's Guide.
Figure 2-1 shows the current Linux boot flow with the SDK.
R5 SPL --> A72 ATF --> A72 SPL --> A72 U-Boot --> A72 Linux.
In the above boot flow each phase is optimized to achieve faster boot time:
The time spent in booting to Linux kernel is approximately 3 Seconds.
The process is broken down into seven steps. Follow the steps exactly.
Understand this:
Regarding the boot switch jumper setting on the DRA821U EVM, see Table 3-1.
WKUP Bootmode | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|
DIP SW9 | (SW9.1) | (SW9.2) | (SW9.3) | (SW9.4) | (SW9.5) | (SW9.6) | (SW9.7) | (SW9.8) |
SD Boot (Default) | OFF | OFF | OFF | OFF | OFF | OFF | OFF | OFF |
eMMC | OFF | ON | OFF | OFF | OFF | OFF | OFF | OFF |
OSPI | OFF | ON | OFF | OFF | OFF | OFF | OFF | OFF |
UART | OFF | ON | ON | ON | OFF | OFF | OFF | OFF |
USB | OFF | OFF | ON | OFF | OFF | OFF | OFF | OFF |
No Boot | OFF | ON | ON | ON | OFF | OFF | OFF | OFF |
Main Bootmode | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
DIP SW8 | (SW8.1) | (SW8.2) | (SW8.3) | (SW8.4) | (SW8.5) | (SW8.6) | (SW8.7) | (SW8.8) |
SD Boot (Default) | ON | OFF | OFF | OFF | OFF | OFF | ON | OFF |
eMMC | ON | OFF | OFF | OFF | OFF | OFF | OFF | OFF |
OSPI | OFF | OFF | OFF | OFF | OFF | ON | ON | OFF |
UART | OFF | OFF | OFF | OFF | OFF | OFF | OFF | OFF |
USB | ON | OFF | OFF | OFF | OFF | OFF | OFF | OFF |
No Boot | ON | OFF | OFF | OFF | ON | OFF | OFF | OFF |
There are boot switches need to be matched correctly in each step as shown above. Two boot switch settings are summarized in this document: one is the SD card switch and one is the xSPI switch.
In the step2:
The switch setting in each step should be marked.
Assume you are familiar with TI Jacinto SDK build setting up. Make sure your NB is connecting to the network while building. Because the uboot might referencing the ti github. The working copy cmd is as this, you need to change according the red parameters (root).
Boot Switch setting:
This step is no needing to touch the boot switch on the EVM.
Patches:
Cmds: (Do this on ubuntu, not the EVM)
cd $PSDKLA/board-support/u-boot-2021.01+gitAUTOINC+53e79d0e89-g53e79d0e89/
git am 0001-Remove-prints-to-optimize-U-Boot-time.patch
cd ../..
make u-boot
cp board-support/k3-image-gen-2021.05/tiboot3.bin board-support/u-boot_build/a72/tispl.bin board-support/u-boot_build/a72/u-boot.img /media/root/boot/