Есть отладочная плата Firefly ROC-RK3308B-CC-Plus на базе SoC Rockchip RK3308.
Собрал U-Boot для него, как и предлагают сами Firefly, из трёх частей: TPL, SPL и непосредственно U-Boot.
Но заработало всё только в комбинации с закрытым блобом Rockchip.
Вот так всё заработало:
#!/bin/sh
./tools/mkimage -n rk3308 -T rksd -d bin/rk33/rk3308_ddr_589MHz_uart4_m0_v2.07.bin idbloader.img # Блоб
cat Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/u-boot/spl/u-boot-spl.bin >> idbloader.img
cp Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/u-boot/u-boot.img .
rkdeveloptool db Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/rkbin/rk3308_loader_uart4_v2.07.139.bin
sleep 1
rkdeveloptool wl 0x40 idbloader.img
sleep 1
rkdeveloptool wl 0x4000 u-boot.img
sleep 1
rkdeveloptool rd
Но, судя по вики Rockchip и другим источникам в Интернете, можно запуститься на полностью Open Source загрузчике.
Поменял первые две строчки:
./tools/mkimage -n rk3308 -T rksd -d Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/u-boot/tpl/u-boot-tpl-dtb.bin idbloader.img
cat Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/u-boot/spl/u-boot-spl-dtb.bin >> idbloader.img
Но так не заработало!
В чём может быть дело?
Прав ли я вообще, считая что можно обойти фирменный блоб заменой на самостоятельно собранный U-Boot TPL?