Описание загрузчика U-boot RK3568

U-boot 2024 full opensource

В 2024 году U-boot для RK3568 можно собрать из официального репозитория. U-boot можно собрать в составе Buildroot по инструкции для ядра 6.1

U-boot может загружаться либо с SD, либо с eMMC. Приоритет bootrom на EMMC. Приоритет нашего u-boot на SD.

Релиз доступен по ссылке: https://disk.yandex.ru/d/hmKqKdvUE5smig

Релиз собран с поддержкой:

ethernet (X7,X8 - cmd: «ping»)

usb (X11 cmd: «usb start»)

sata (m.2 на нижней части платы: X9: cmd: «scsi scan»)

pci (X33-pcie3, X19-pcie2: cmd: «pci enum;pci»)

sdcard(X5 : cmd: «mmc dev 1;mmc info»)

saveenv(сохраняет переменные окружения в eMMC)

Прошивать на SDcard или eMMC так:

dd if=u-boot-rockchip.bin of=/dev/XXX seek=64

U-boot переходит к загрузке ОС командой

bootflow scan

Команда ожидает extlinux.conf файл носителях, которые опеределены в переменной окружения:

boot_targets=mmc1 mmc0 nvme scsi usb pxe dhcp spi

mmc1 - SD на плате SM-EVM

mmc0 - eMMC на модуле SMARC

scsi - SATA M2 диск на плате SM-EVM

Таким образом, если нужно переопределить порядок загрузки, небходимо изменить порядок носителей в переменной окружения boot_targets.

Например, чтобы загружать Linux с SATA:

setenv boot_targets "scsi mmc1 mmc0 nvme usb pxe dhcp spi"
saveenv

Файл extlinux.conf

Пример конфигурационного файла для загрузки Buildroot-сборки:

TIMEOUT 3
DEFAULT main
#MENU TITLE Boot menu
label main
kernel /Image
fdt /rk3568-inmys-smarc-evm.dtb
initrd /rootfs.cpio.gz
append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000