====== Ванильный U-Boot для плат на базе RK3568 ======
Использование вендорского варианта загрузчика не всегда допустимо и приветствуется. Для сборки ванильного необходимо установить ряд переменных окружения
export BL31=../rkbin/bin/rk35/rk3568_bl31_v1.44.elf
export TEE=../rkbin/tee.elf
export ROCKCHIP_TPL=../rkbin/bin/rk35/rk3568_ddr_1560MHz_v1.21.bin
export CROSS_COMPILE=aarch64-linux-gnu-
Назначение переменных следующее:
* BL31 - двоичный загрузчик от RockChip'а, который будет загружать U-Boot с рабочего накопителя
* TEE - **не обязательная** перемененная, указывающая на ELF файл с OP-TEE см [[rk3568::rkbin]] чтобы узнать как сделать ELF из поставляемого RockChip'ом BINа
* ROCKCHIP_TPL - базовый двоичный загрузчик от RockChip'а, инициализирующий DDR память (ну еще консоль) см [[rk3568::rkbin]]
* CROSS_COMPILE - используемый для сборки кросс-компилятор
На выходе получаем u-boot-rockchip.bin, который необходимо записать на SD-карту или eMMC со смещением в 64 сектора, например с использованием [[rk3568::rkdevelop]]. Например, с помощью такого скрипта
#!/bin/bash
echo Bootloader
./../rkbin/tools/rkdeveloptool db ./../rkbin/rk356x_spl_loader_v1.21.113.bin
echo U-Boot image
sleep 1
./../rkbin/tools/rkdeveloptool wl 64 u-boot-rockchip.bin
echo Reset board
sleep 1
./../rkbin/tools/rkdeveloptool rd
Обратите внимание, чип должен быть переведен в MaskRom режим (см [[rk3568::bootmode]]), и в этом режиме используется предварительно созданный SPL загрузчик (см [[rk3568::rkbin]]]).