Rockchip: Сборка U-Boot

Загрузчик операционной системы, предназначенный для встраиваемых систем на MIPS, ARM, PowerPC и т.д.

Внимание

Предполагается, что у вас уже установлены нужные переменные окружения, в частности BL31 и, опционально, ROCKCHIP_TPL.

Настройка

Объявите переменную окружения TARGET, которая будет содержать название SoC, для которого производится сборка загрузчика.

export TARGET="целевая платформа"

Целевые платформы загрузчика:

SoCdefconfig
px30evb-px30
rk3066mk808
rk3288evb-rk3288
rk3308evb-rk3308
rk3328evb-rk3328
rk3368evb-px5
rk3399evb-rk3399
rk3568evb-rk3568
rk3588evb-rk3588

Например, если в моей плате используется Rockchip RK3588, то значение переменной TARGET будет равно evb-rk3588:

export TARGET="evb-rk3588"

Создайте базовый конфиг для сборки U-Boot (defconfig):

make ${TARGET}_defconfig

Сборка

make CROSS_COMPILE=$LFA_TGT-

Сохранение образа U-Boot

Скопируйте скомпилированный файл в директорию $LFA для удобного доступа к нему в будущем:

cp -v u-boot-rockchip.bin $LFA/bootloader.bin

Команда выше верна: мы действительно копируем файл загрузчика в директорию $LFA, а не в $LFA_SYS, как это делали обычно. Дело в том, что в базовой системе этот файл не особо нужен, а в $LFA содержатся различные файлы: кросс-компилятор, директория с базовой ОС, а теперь там будет и файл загрузчика. В будущем в этой директории мы соберём img.xz-образ вашей системы. Каталог $LFA отлично подходит для хранения разнотиповых файлов, чего не скажешь о $LFA_SYS, единственное предназначение которого — хранение файлов базовой системы.

Содержимое пакета

  • Установленные файлы: $LFA/bootloader.bin

Описание компонентов

  • $LFA/bootloader.bin — скомпилированный файл загрузчика U-Boot.