* gnu/packages/bootloaders (u-boot): Update to 2019.04. [source]: Add patch. (u-boot-novena): Update dynamic patch to handle variable rename. (u-boot-am335x-evm): New variable. (u-boot-am335x-boneblack): Deprecate variable. (u-boot-novena): Fix typo in description. * gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. --- gnu/local.mk | 1 + gnu/packages/bootloaders.scm | 18 ++++--- ...boot-fix-mkimage-header-verification.patch | 48 +++++++++++++++++++ 3 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6c39c3fef5..d8b74c0650 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1307,6 +1307,7 @@ dist_patch_DATA = \ %D%/packages/patches/totem-meson-easy-codec.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/twinkle-include-qregexpvalidator.patch \ + %D%/packages/patches/u-boot-fix-mkimage-header-verification.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8140.patch \ %D%/packages/patches/unzip-CVE-2014-8141.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d6ef7d52b5..6064e699f8 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -378,7 +378,7 @@ tree binary files. These are board description files used by Linux and BSD.") (define u-boot (package (name "u-boot") - (version "2019.01") + (version "2019.04") (source (origin (method url-fetch) (uri (string-append @@ -386,7 +386,10 @@ tree binary files. These are board description files used by Linux and BSD.") "u-boot-" version ".tar.bz2")) (sha256 (base32 - "08hwsmh5xsb1gcxsv8gvx00bai938dm5y3889n8jif3a8rd7xgah")))) + "1vwv4bgbl7fjcm073zrphn17hnz5h5h778f88ivdsgbb2lnpgdvn")) + (patches + (search-patches + "u-boot-fix-mkimage-header-verification.patch")))) (native-inputs `(("bc" ,bc) ("bison" ,bison) @@ -577,8 +580,11 @@ board-independent tools."))) (define-public u-boot-malta (make-u-boot-package "malta" "mips64el-linux-gnuabi64")) -(define-public u-boot-beagle-bone-black - (make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf")) +(define-public u-boot-am335x-evm + (make-u-boot-package "am335x_evm" "arm-linux-gnueabihf")) + +(define-public u-boot-am335x-boneblack + (deprecated-package "u-boot-am335x-boneblack" u-boot-am335x-evm)) (define-public (make-u-boot-sunxi64-package board triplet) (let ((base (make-u-boot-package board triplet))) @@ -637,7 +643,7 @@ board-independent tools."))) also initializes the boards (RAM etc). This U-Boot is built for Novena. Be advised that this version, contrary -to Novena upstream, does not load u-boot.img from the first patition.") +to Novena upstream, does not load u-boot.img from the first partition.") (arguments (substitute-keyword-arguments (package-arguments base) ((#:phases phases) @@ -647,7 +653,7 @@ to Novena upstream, does not load u-boot.img from the first patition.") ;; allowing it to be installed at a device offset. (lambda _ (substitute* "configs/novena_defconfig" - (("CONFIG_SPL_FAT_SUPPORT=y") "# CONFIG_SPL_FAT_SUPPORT is not set")) + (("CONFIG_SPL_FS_FAT=y") "# CONFIG_SPL_FS_FAT is not set")) #t))))))))) (define-public u-boot-cubieboard diff --git a/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch b/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch new file mode 100644 index 0000000000..a24519d2f4 --- /dev/null +++ b/gnu/packages/patches/u-boot-fix-mkimage-header-verification.patch @@ -0,0 +1,48 @@ +From da8dc3e61bab213b322eafeffa2802585508f288 Mon Sep 17 00:00:00 2001 +From: Jordan Hand +Date: Tue, 9 Apr 2019 10:36:09 -0700 +Subject: [PATCH] fdt: Fix mkimage list to try every header type +Origin: https://patchwork.ozlabs.org/patch/1082572/ + +Signed-off-by: Jordan Hand +--- + tools/mkimage.c | 23 +++++++++++++++-------- + 1 file changed, 15 insertions(+), 8 deletions(-) + +diff --git a/tools/mkimage.c b/tools/mkimage.c +index 2899adff81..d1e1a6743d 100644 +--- a/tools/mkimage.c ++++ b/tools/mkimage.c +@@ -403,14 +403,21 @@ int main(int argc, char **argv) + exit (EXIT_FAILURE); + } + +- /* +- * scan through mkimage registry for all supported image types +- * and verify the input image file header for match +- * Print the image information for matched image type +- * Returns the error code if not matched +- */ +- retval = imagetool_verify_print_header_by_type(ptr, &sbuf, +- tparams, ¶ms); ++ if (params.fflag) { ++ /* ++ * Verifies the header format based on the expected header for image ++ * type in tparams ++ */ ++ retval = imagetool_verify_print_header_by_type(ptr, &sbuf, ++ tparams, ¶ms); ++ } else { ++ /** ++ * When listing the image, we are not given the image type. Simply check all ++ * image types to find one that matches our header ++ */ ++ retval = imagetool_verify_print_header(ptr, &sbuf, ++ tparams, ¶ms); ++ } + + (void) munmap((void *)ptr, sbuf.st_size); + (void) close (ifd); +-- +2.20.1 + -- 2.20.1