From ba3e470651cbfeff1ad28fae1d1d5dcad6fb020b Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Sat, 3 Mar 2018 21:18:05 -0500 Subject: [PATCH] uboot: rock64: use binary blob for TPL This stops the kernel from crashing immediately after boot. --- pkgs/misc/uboot/rock64.nix | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/pkgs/misc/uboot/rock64.nix b/pkgs/misc/uboot/rock64.nix index 8c3af2a35a4..623c6015534 100644 --- a/pkgs/misc/uboot/rock64.nix +++ b/pkgs/misc/uboot/rock64.nix @@ -1,4 +1,11 @@ -{ lib, buildUBoot, fetchFromGitHub, armTrustedFirmwareRK3328 }: buildUBoot rec { +{ lib, buildUBoot, fetchFromGitHub, armTrustedFirmwareRK3328 }: let + rkbin = fetchFromGitHub { + owner = "ayufan-rock64"; + repo = "rkbin"; + rev = "d8b90685b3d93c358936babdd854f1018bc6d35e"; + sha256 = "0wrh3xa968sdp0j9n692jnv3071ymab719zc56vllba0aaabiaxr"; + }; +in buildUBoot rec { name = "uboot-${defconfig}-${version}"; version = "2018.01"; @@ -10,8 +17,10 @@ }; extraMakeFlags = [ "BL31=${armTrustedFirmwareRK3328}/bl31.elf" "u-boot.itb" "all" ]; + + # So close to being blob free... But U-Boot TPL causes the kernel to hang postBuild = '' - ./tools/mkimage -n rk3328 -T rksd -d tpl/u-boot-tpl.bin idbloader.img + ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.06.bin idbloader.img cat spl/u-boot-spl.bin >> idbloader.img dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc ''; @@ -19,8 +28,10 @@ defconfig = "rock64-rk3328_defconfig"; filesToInstall = [ "spl/u-boot-spl.bin" "tpl/u-boot-tpl.bin" "u-boot.itb" "idbloader.img"]; - extraMeta = { - maintainers = [ lib.maintainers.lopsided98 ]; + extraMeta = with lib; { + maintainers = [ maintainers.lopsided98 ]; platforms = ["aarch64-linux"]; + # Because of the TPL blob + license = licenses.unfreeRedistributableFirmware; }; }