Rockchip: Сборка U-Boot
Загрузчик операционной системы, предназначенный для встраиваемых систем на MIPS, ARM, PowerPC и т.д.
- Версия: 2023.10
- Домашняя страница: https://source.denx.de/u-boot/u-boot
- Время сборки: 10 ОВС
Предполагается, что у вас уже установлены нужные переменные окружения, в частности BL31
и, опционально, ROCKCHIP_TPL
.
Настройка
Объявите переменную окружения TARGET
, которая будет содержать название SoC, для которого производится сборка загрузчика.
export TARGET="целевая платформа"
Целевые платформы загрузчика:
SoC defconfig
px30 evb-px30
rk3066 mk808
rk3288 evb-rk3288
rk3308 evb-rk3308
rk3328 evb-rk3328
rk3368 evb-px5
rk3399 evb-rk3399
rk3568 evb-rk3568
rk3588 evb-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.