From patchwork Sat Nov 18 16:01:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Herman Rimm X-Patchwork-Id: 56608 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2A83627BBE9; Sat, 18 Nov 2023 16:02:31 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 108D827BBE2 for ; Sat, 18 Nov 2023 16:02:28 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r4Nlm-0005tQ-IG; Sat, 18 Nov 2023 11:02:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r4Nll-0005t1-07 for guix-patches@gnu.org; Sat, 18 Nov 2023 11:02:05 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r4Nlk-0007dJ-4O for guix-patches@gnu.org; Sat, 18 Nov 2023 11:02:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r4Nlh-0004GU-Su; Sat, 18 Nov 2023 11:02:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#67261] [PATCH 1/3] gnu: u-boot: Update to 2023.10. Resent-From: Herman Rimm Original-Sender: "Debbugs-submit" Resent-CC: efraim@flashner.co.il, vagrant@debian.org, guix-patches@gnu.org Resent-Date: Sat, 18 Nov 2023 16:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67261 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67261@debbugs.gnu.org Cc: Herman Rimm , Efraim Flashner , Vagrant Cascadian X-Debbugs-Original-Xcc: Efraim Flashner , Vagrant Cascadian Received: via spool by 67261-submit@debbugs.gnu.org id=B67261.170032331516362 (code B ref 67261); Sat, 18 Nov 2023 16:02:01 +0000 Received: (at 67261) by debbugs.gnu.org; 18 Nov 2023 16:01:55 +0000 Received: from localhost ([127.0.0.1]:49342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4Nla-0004Fj-3i for submit@debbugs.gnu.org; Sat, 18 Nov 2023 11:01:55 -0500 Received: from 81-205-150-117.fixed.kpn.net ([81.205.150.117]:35765 helo=email.rimm.ee) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4NlV-0004FR-6q for 67261@debbugs.gnu.org; Sat, 18 Nov 2023 11:01:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rimm.ee; s=herman; t=1700323289; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TU50JnG2EzZp8ffmEPURF7WmIo6IDHsd345quPzYCRw=; b=AfT9X42MCx1jLXXRAU2949D2rpSwzmQgb13diltpFV/5MVyTJ2yEmizM8RVnv37dKgpIv+ ZynWtWLPapyxoxgzLtw+XUPXnD4K/kGpvsxkeWQbHUHg3qJWevSAdJJiRsRiJ65/UtmlmQ jIZ3M4DQCWQDGquqwtKGJYap/decnPtgu1mZsn+m7V77oUBD2a1nHZv2I4MEprKD+84OwJ 6r0EygaE8+4B/tY/T+p5m8QLdJygtShBvz/RAAvJhUgBL1XGYUktyoECXCue20OQj142pE 3lmb8vqpJaDwt5bM3gReKiczPJeM8wAyi8pbPWoYBztAsPbXUzA/o9sMin99Ww== Received: by 81-205-150-117.fixed.kpn.net (OpenSMTPD) with ESMTPSA id 30b61d30 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Sat, 18 Nov 2023 16:01:29 +0000 (UTC) Date: Sat, 18 Nov 2023 17:01:26 +0100 Message-ID: <0e8f1f2a3d8391b66797da4680c0573d6671b5fc.1700321434.git.herman@rimm.ee> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Herman Rimm X-ACL-Warn: , Herman Rimm via Guix-patches X-Patchwork-Original-From: Herman Rimm via Guix-patches via From: Herman Rimm Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/local.mk: De-register patches. * gnu/packages/bootloaders.scm (u-boot): Update to 2023.10. [source]: Remove patches. * gnu/packages/patches/u-boot-allow-disabling-openssl.patch: Refresh. * gnu/packages/patches/u-boot-fix-build-python-3.10.patch: Delete file. * gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch: Delete file. * gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch: Delete file. * gnu/packages/patches/u-boot-rockchip-inno-usb.patch: Refresh. --- gnu/local.mk | 4 +- gnu/packages/bootloaders.scm | 14 +---- .../u-boot-allow-disabling-openssl.patch | 56 ++++++++++--------- .../u-boot-fix-build-python-3.10.patch | 37 ------------ .../patches/u-boot-fix-u-boot-lib-build.patch | 24 -------- .../u-boot-rk3399-enable-emmc-phy.patch | 26 --------- .../patches/u-boot-rockchip-inno-usb.patch | 16 +++--- 7 files changed, 42 insertions(+), 135 deletions(-) delete mode 100644 gnu/packages/patches/u-boot-fix-build-python-3.10.patch delete mode 100644 gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch delete mode 100644 gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch diff --git a/gnu/local.mk b/gnu/local.mk index fcd9024ce3..84fcb9c54e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -61,6 +61,7 @@ # Copyright © 2023 Andy Tai # Copyright © 2023 B. Wilson # Copyright © 2023 gemmaro +# Copyright © 2023 Herman Rimm # # This file is part of GNU Guix. # @@ -2056,13 +2057,10 @@ dist_patch_DATA = \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/twinkle-bcg729.patch \ %D%/packages/patches/u-boot-allow-disabling-openssl.patch \ - %D%/packages/patches/u-boot-fix-build-python-3.10.patch \ - %D%/packages/patches/u-boot-fix-u-boot-lib-build.patch \ %D%/packages/patches/u-boot-nintendo-nes-serial.patch \ %D%/packages/patches/u-boot-patman-change-id.patch \ %D%/packages/patches/u-boot-rockchip-inno-usb.patch \ %D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \ - %D%/packages/patches/u-boot-rk3399-enable-emmc-phy.patch \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/ultrastar-deluxe-no-freesans.patch \ %D%/packages/patches/ungoogled-chromium-extension-search-path.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index fb20ba0efa..5da696388a 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; Copyright © 2021 Stefan ;;; Copyright © 2022, 2023 Maxim Cournoyer +;;; Copyright © 2023 Herman Rimm ;;; ;;; This file is part of GNU Guix. ;;; @@ -637,24 +638,15 @@ (define %u-boot-allow-disabling-openssl-patch ;; https://lists.denx.de/pipermail/u-boot/2021-October/462728.html (search-patch "u-boot-allow-disabling-openssl.patch")) -(define %u-boot-rk3399-enable-emmc-phy-patch - ;; Fix emmc boot on rockpro64 and pinebook-pro, this was a regression - ;; therefore should hopefully be fixed when updating u-boot. - ;; https://lists.denx.de/pipermail/u-boot/2021-November/466329.html - (search-patch "u-boot-rk3399-enable-emmc-phy.patch")) - (define u-boot (package (name "u-boot") - (version "2023.07.02") + (version "2023.10") (source (origin (patches (list %u-boot-rockchip-inno-usb-patch %u-boot-allow-disabling-openssl-patch %u-boot-sifive-prevent-relocating-initrd-fdt - %u-boot-rk3399-enable-emmc-phy-patch - (search-patch "u-boot-fix-build-python-3.10.patch") - (search-patch "u-boot-fix-u-boot-lib-build.patch") (search-patch "u-boot-patman-change-id.patch"))) (method url-fetch) (uri (string-append @@ -662,7 +654,7 @@ (define u-boot "u-boot-" version ".tar.bz2")) (sha256 (base32 - "1m91w3fpywllkwm000dqsw3294j0szs1lz6qbgwv1aql3ic4hskb")))) + "0039rravvjq9yi41645fynycw4c869px024xfc0n212f05pnq3p0")))) (build-system gnu-build-system) (native-inputs (list bison diff --git a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch index 5195a7a6f8..708ed81e93 100644 --- a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch +++ b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch @@ -8,8 +8,10 @@ This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac. Addendum 2022-12-08, Ricardo Wurmus: This patch has been updated to introduce CONFIG_FIT_PRELOAD to remove fit_pre_load_data, which depends on openssl. +Addendum 2023-10-17, Herman Rimm: Update patch for u-boot v2023.10. + diff --git a/tools/kwbimage.c b/tools/kwbimage.c -index 94b7685392..eec599b0ee 100644 +index 4dce495ff0..976174ae77 100644 --- a/tools/kwbimage.c +++ b/tools/kwbimage.c @@ -19,6 +19,7 @@ @@ -38,7 +40,7 @@ index 94b7685392..eec599b0ee 100644 struct boot_mode { unsigned int id; -@@ -278,6 +282,8 @@ image_count_options(unsigned int optiontype) +@@ -281,6 +285,8 @@ image_count_options(unsigned int optiontype) return count; } @@ -47,7 +49,7 @@ index 94b7685392..eec599b0ee 100644 static int image_get_csk_index(void) { struct image_cfg_element *e; -@@ -288,6 +294,7 @@ static int image_get_csk_index(void) +@@ -291,6 +297,7 @@ static int image_get_csk_index(void) return e->csk_idx; } @@ -55,7 +57,7 @@ index 94b7685392..eec599b0ee 100644 static bool image_get_spezialized_img(void) { -@@ -432,6 +439,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate) +@@ -435,6 +442,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate) } } @@ -63,29 +65,31 @@ index 94b7685392..eec599b0ee 100644 static void kwb_msg(const char *fmt, ...) { if (verbose_mode) { -@@ -926,6 +934,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr) +@@ -929,6 +937,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr) done: return ret; } +#endif - static size_t image_headersz_align(size_t headersz, uint8_t blockid) + static int image_fill_xip_header(void *image, struct image_tool_params *params) { -@@ -1079,11 +1088,13 @@ static size_t image_headersz_v1(int *hasext) - */ - headersz = sizeof(struct main_hdr_v1); +@@ -1149,13 +1158,13 @@ static size_t image_headersz_v1(int *hasext) + int ret; + headersz = sizeof(struct main_hdr_v1); +- +#if defined(CONFIG_KWB_SECURE) if (image_get_csk_index() >= 0) { headersz += sizeof(struct secure_hdr_v1); if (hasext) *hasext = 1; } +- +#endif - cpu_sheeva = image_is_cpu_sheeva(); -@@ -1270,6 +1281,7 @@ err_close: + count = 0; +@@ -1351,6 +1360,7 @@ err_close: return -1; } @@ -93,7 +97,7 @@ index 94b7685392..eec599b0ee 100644 static int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr) { FILE *hashf; -@@ -1382,6 +1394,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr, +@@ -1458,6 +1468,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *image return 0; } @@ -101,9 +105,9 @@ index 94b7685392..eec599b0ee 100644 static void finish_register_set_header_v1(uint8_t **cur, uint8_t **next_ext, struct register_set_hdr_v1 *register_set_hdr, -@@ -1406,7 +1419,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, +@@ -1481,7 +1492,9 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params, + struct image_cfg_element *e; struct main_hdr_v1 *main_hdr; - struct opt_hdr_v1 *ohdr; struct register_set_hdr_v1 *register_set_hdr; +#if defined(CONFIG_KWB_SECURE) struct secure_hdr_v1 *secure_hdr = NULL; @@ -111,15 +115,16 @@ index 94b7685392..eec599b0ee 100644 size_t headersz; uint8_t *image, *cur; int hasext = 0; -@@ -1491,6 +1506,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, - if (main_hdr->blockid == IBR_HDR_PEX_ID) - main_hdr->srcaddr = cpu_to_le32(0xFFFFFFFF); - +@@ -1562,7 +1575,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params, + } + *dataoff = le32_to_cpu(main_hdr->srcaddr); + } +- +#if defined(CONFIG_KWB_SECURE) if (image_get_csk_index() >= 0) { /* * only reserve the space here; we fill the header later since -@@ -1501,7 +1517,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, +@@ -1573,7 +1586,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params, *next_ext = 1; next_ext = &secure_hdr->next; } @@ -128,7 +133,7 @@ index 94b7685392..eec599b0ee 100644 datai = 0; for (cfgi = 0; cfgi < cfgn; cfgi++) { e = &image_cfg[cfgi]; -@@ -1624,10 +1640,12 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params, +@@ -1624,9 +1637,11 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params, &datai, delay); } @@ -140,7 +145,6 @@ index 94b7685392..eec599b0ee 100644 /* Calculate and set the header checksum */ main_hdr->checksum = image_checksum8(main_hdr, headersz); - --- a/tools/image-host.c +++ b/tools/image-host.c @@ -14,8 +14,10 @@ @@ -154,7 +158,7 @@ index 94b7685392..eec599b0ee 100644 /** * fit_set_hash_value - set hash value in requested has node -@@ -1116,6 +1118,7 @@ +@@ -1119,6 +1121,7 @@ static int fit_config_add_verification_data(const char *keydir, return 0; } @@ -162,7 +166,7 @@ index 94b7685392..eec599b0ee 100644 /* * 0) open file (open) * 1) read certificate (PEM_read_X509) -@@ -1224,6 +1227,7 @@ +@@ -1227,6 +1230,7 @@ int fit_pre_load_data(const char *keydir, void *keydest, void *fit) out: return ret; } @@ -172,7 +176,7 @@ index 94b7685392..eec599b0ee 100644 const char *comment, int require_keys, --- a/tools/fit_image.c +++ b/tools/fit_image.c -@@ -59,9 +59,10 @@ +@@ -61,9 +61,10 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc, ret = fit_set_timestamp(ptr, 0, time); } @@ -186,7 +190,7 @@ index 94b7685392..eec599b0ee 100644 params->comment, --- a/include/image.h +++ b/include/image.h -@@ -1090,6 +1090,7 @@ +@@ -1182,6 +1182,7 @@ int fit_image_hash_get_value(const void *fit, int noffset, uint8_t **value, int fit_set_timestamp(void *fit, int noffset, time_t timestamp); @@ -194,7 +198,7 @@ index 94b7685392..eec599b0ee 100644 /** * fit_pre_load_data() - add public key to fdt blob * -@@ -1104,6 +1105,7 @@ +@@ -1196,6 +1197,7 @@ int fit_set_timestamp(void *fit, int noffset, time_t timestamp); * < 0, on failure */ int fit_pre_load_data(const char *keydir, void *keydest, void *fit); diff --git a/gnu/packages/patches/u-boot-fix-build-python-3.10.patch b/gnu/packages/patches/u-boot-fix-build-python-3.10.patch deleted file mode 100644 index 7e5d6ba656..0000000000 --- a/gnu/packages/patches/u-boot-fix-build-python-3.10.patch +++ /dev/null @@ -1,37 +0,0 @@ -This patch is backported from U-Boot 2023.01; remove when updating. - -From 7d01bb1c5a1daef0187c9ea276bde19a8d0e7fde Mon Sep 17 00:00:00 2001 -From: Michal Suchanek -Date: Thu, 13 Oct 2022 22:43:41 +0200 -Subject: [PATCH] libfdt: Fix build with python 3.10 - -Python 3.10 requires defining PY_SSIZE_T_CLEAN. This will be fixed in -swig 4.10 but it is not clear when it will be released. There was a -warning since python 3.8. - -Link: https://github.com/swig/swig/pull/2277 - -Signed-off-by: Michal Suchanek -Reviewed-by: Simon Glass ---- - scripts/dtc/pylibfdt/libfdt.i_shipped | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped -index 27c29ea260..56cc5d48f4 100644 ---- a/scripts/dtc/pylibfdt/libfdt.i_shipped -+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped -@@ -7,6 +7,10 @@ - - %module libfdt - -+%begin %{ -+#define PY_SSIZE_T_CLEAN -+%} -+ - %include - - %{ --- -GitLab - diff --git a/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch b/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch deleted file mode 100644 index 233c437de6..0000000000 --- a/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch +++ /dev/null @@ -1,24 +0,0 @@ -Submitted upstream (see: -https://lists.denx.de/pipermail/u-boot/2023-July/521984.html) - -diff --git a/tools/u_boot_pylib/pyproject.toml b/tools/u_boot_pylib/pyproject.toml -index 3f33caf6f8..037c5d629e 100644 ---- a/tools/u_boot_pylib/pyproject.toml -+++ b/tools/u_boot_pylib/pyproject.toml -@@ -9,7 +9,7 @@ authors = [ - { name="Simon Glass", email="sjg@chromium.org" }, - ] - description = "U-Boot python library" --readme = "README.md" -+readme = "README.rst" - requires-python = ">=3.7" - classifiers = [ - "Programming Language :: Python :: 3", -@@ -20,3 +20,7 @@ classifiers = [ - [project.urls] - "Homepage" = "https://u-boot.readthedocs.io" - "Bug Tracker" = "https://source.denx.de/groups/u-boot/-/issues" -+ -+[tool.setuptools.packages.find] -+where = [".."] -+include = ["u_boot_pylib*"] diff --git a/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch b/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch deleted file mode 100644 index f14a9ce104..0000000000 --- a/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch +++ /dev/null @@ -1,26 +0,0 @@ -adapting commit ac804143cf ("mmc: rockchip_sdhci: add phy and clock -config for rk3399") to fix the issue "Not found emmc phy device". - -Signed-off-by: Yifeng Zhao ---- - - arch/arm/dts/rk3399-u-boot.dtsi | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi -index 73922c328a..716b9a433a 100644 ---- a/arch/arm/dts/rk3399-u-boot.dtsi -+++ b/arch/arm/dts/rk3399-u-boot.dtsi -@@ -88,6 +88,10 @@ - u-boot,dm-pre-reloc; - }; - -+&emmc_phy { -+ u-boot,dm-pre-reloc; -+}; -+ - &grf { - u-boot,dm-pre-reloc; - }; --- -2.17.1 diff --git a/gnu/packages/patches/u-boot-rockchip-inno-usb.patch b/gnu/packages/patches/u-boot-rockchip-inno-usb.patch index 58f04b2c78..eeb25f4b89 100644 --- a/gnu/packages/patches/u-boot-rockchip-inno-usb.patch +++ b/gnu/packages/patches/u-boot-rockchip-inno-usb.patch @@ -170,10 +170,10 @@ Tested-by: Peter Robinson 1 file changed, 21 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c -index 62b8ba3a4a..be9cc99d90 100644 +index 70e61eccb7..ce36db94a7 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c -@@ -62,6 +62,8 @@ struct rockchip_usb2phy { +@@ -64,6 +64,8 @@ struct rockchip_usb2phy { void *reg_base; struct clk phyclk; const struct rockchip_usb2phy_cfg *phy_cfg; @@ -182,7 +182,7 @@ index 62b8ba3a4a..be9cc99d90 100644 }; static inline int property_enable(void *reg_base, -@@ -92,6 +94,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy) +@@ -106,6 +108,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy) struct rockchip_usb2phy *priv = dev_get_priv(parent); const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy); @@ -193,7 +193,7 @@ index 62b8ba3a4a..be9cc99d90 100644 property_enable(priv->reg_base, &port_cfg->phy_sus, false); /* waiting for the utmi_clk to become stable */ -@@ -106,6 +112,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy) +@@ -120,6 +126,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy) struct rockchip_usb2phy *priv = dev_get_priv(parent); const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy); @@ -204,7 +204,7 @@ index 62b8ba3a4a..be9cc99d90 100644 property_enable(priv->reg_base, &port_cfg->phy_sus, true); return 0; -@@ -118,6 +128,10 @@ static int rockchip_usb2phy_init(struct phy *phy) +@@ -132,6 +142,10 @@ static int rockchip_usb2phy_init(struct phy *phy) const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy); int ret; @@ -213,9 +213,9 @@ index 62b8ba3a4a..be9cc99d90 100644 + return 0; + ret = clk_enable(&priv->phyclk); - if (ret) { + if (ret && ret != -ENOSYS) { dev_err(phy->dev, "failed to enable phyclk (ret=%d)\n", ret); -@@ -140,6 +154,10 @@ static int rockchip_usb2phy_exit(struct phy *phy) +@@ -154,6 +168,10 @@ static int rockchip_usb2phy_exit(struct phy *phy) struct udevice *parent = dev_get_parent(phy->dev); struct rockchip_usb2phy *priv = dev_get_priv(parent); @@ -226,7 +226,7 @@ index 62b8ba3a4a..be9cc99d90 100644 clk_disable(&priv->phyclk); return 0; -@@ -212,6 +230,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev) +@@ -294,6 +312,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev) return ret; } From patchwork Sat Nov 18 16:01:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Herman Rimm X-Patchwork-Id: 56607 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B9D9E27BBEA; Sat, 18 Nov 2023 16:02:27 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C003127BBE2 for ; Sat, 18 Nov 2023 16:02:26 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r4Nlo-0005u3-2l; Sat, 18 Nov 2023 11:02:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r4Nll-0005t0-07 for guix-patches@gnu.org; Sat, 18 Nov 2023 11:02:05 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r4Nlk-0007dQ-E4 for guix-patches@gnu.org; Sat, 18 Nov 2023 11:02:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r4Nli-0004Gb-If; Sat, 18 Nov 2023 11:02:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#67261] [PATCH 2/3] gnu: bootloader: Add orangepi-r1-plus-lts-rk3328 bootloader. Resent-From: Herman Rimm Original-Sender: "Debbugs-submit" Resent-CC: efraim@flashner.co.il, vagrant@debian.org, guix-patches@gnu.org Resent-Date: Sat, 18 Nov 2023 16:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67261 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67261@debbugs.gnu.org Cc: Herman Rimm , Efraim Flashner , Vagrant Cascadian X-Debbugs-Original-Xcc: Efraim Flashner , Vagrant Cascadian Received: via spool by 67261-submit@debbugs.gnu.org id=B67261.170032331716377 (code B ref 67261); Sat, 18 Nov 2023 16:02:02 +0000 Received: (at 67261) by debbugs.gnu.org; 18 Nov 2023 16:01:57 +0000 Received: from localhost ([127.0.0.1]:49345 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4Nld-0004G4-AS for submit@debbugs.gnu.org; Sat, 18 Nov 2023 11:01:57 -0500 Received: from 81-205-150-117.fixed.kpn.net ([81.205.150.117]:35765 helo=email.rimm.ee) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4NlZ-0004FR-9G for 67261@debbugs.gnu.org; Sat, 18 Nov 2023 11:01:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rimm.ee; s=herman; t=1700323291; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=z6UE5yYu0lTLzwd2JF0WchW/4b1DN2gZDIjIziShZp8=; b=iT0Xkbm8Akx/ihx76qrr9jwcXrjx4QkFDLxkkEMVvMvSgbpPMYlEB6f2n0nmytcQZOZo33 oI+w7Smzzqd7ohfhlOi/O7ok0csrjtuqYQmp2Bxj7U8ikSUSlvtqTwOrkhWVy8JIic225E u7g5263obTCb5TAQBt6TqDejYKOaWppH3PNg27xw/twwL3hwi2rvpbFBGSizDmynqoGLRL YTJ4HhTZzHzA+P9BJusvEs7Wilsxqu6YcZdlTk64+6mnmX38wQZSY5rggIWOzrm5ncPkjw C9OkFwybOHdDXsW7Bkmd41OTqOpzGIGFb9LabySPuzuq9MVyNykGzaa0BuDukA== Received: by 81-205-150-117.fixed.kpn.net (OpenSMTPD) with ESMTPSA id b125565a (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Sat, 18 Nov 2023 16:01:31 +0000 (UTC) Date: Sat, 18 Nov 2023 17:01:27 +0100 Message-ID: <2e6ef3942e41a389e78e438941e2b52495dc530f.1700321434.git.herman@rimm.ee> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Herman Rimm X-ACL-Warn: , Herman Rimm via Guix-patches X-Patchwork-Original-From: Herman Rimm via Guix-patches via From: Herman Rimm Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/bootloader/u-boot.scm (install-orangepi-r1-plus-lts-rk3328-u-boot, u-boot-orangepi-r1-plus-lts-rk3328-bootloader): New variables. * gnu/packages/bootloaders.scm (u-boot-orangepi-r1-plus-lts-rk3328): New variable. --- gnu/bootloader/u-boot.scm | 17 +++++++++++++++++ gnu/packages/bootloaders.scm | 15 +++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 712db15b02..d20aabd538 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2023 Efraim Flashner +;;; Copyright © 2023 Herman Rimm ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ (define-module (gnu bootloader u-boot) u-boot-mx6cuboxi-bootloader u-boot-nintendo-nes-classic-edition-bootloader u-boot-novena-bootloader + u-boot-orangepi-r1-plus-lts-rk3328-bootloader u-boot-pine64-plus-bootloader u-boot-pine64-lts-bootloader u-boot-pinebook-bootloader @@ -93,6 +95,15 @@ (define install-imx-u-boot (write-file-on-device u-boot (stat:size (stat u-boot)) image (* 69 1024))))) +(define install-orangepi-r1-plus-lts-rk3328-u-boot + #~(lambda (bootloader root-index image) + (let ((idb (string-append bootloader "/libexec/idbloader.img")) + (u-boot (string-append bootloader "/libexec/u-boot.itb"))) + (write-file-on-device idb (stat:size (stat idb)) + image (* 64 512)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + image (* 16384 512))))) + (define install-puma-rk3399-u-boot #~(lambda (bootloader root-index image) (let ((spl (string-append bootloader "/libexec/idbloader.img")) @@ -233,6 +244,12 @@ (define u-boot-novena-bootloader (inherit u-boot-imx-bootloader) (package u-boot-novena))) +(define u-boot-orangepi-r1-plus-lts-rk3328-bootloader + (bootloader + (inherit u-boot-bootloader) + (package u-boot-orangepi-r1-plus-lts-rk3328) + (disk-image-installer install-orangepi-r1-plus-lts-rk3328-u-boot))) + (define u-boot-pine64-plus-bootloader (bootloader (inherit u-boot-allwinner64-bootloader) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 5da696388a..e88abe2dec 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -1128,6 +1128,21 @@ (define-public u-boot-novena version, contrary to Novena upstream, does not load u-boot.img from the first partition.")) +(define-public u-boot-orangepi-r1-plus-lts-rk3328 + (let ((base (make-u-boot-package "orangepi-r1-plus-lts-rk3328" "aarch64-linux-gnu"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'set-environment + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (setenv "BL31" (search-input-file inputs "bl31.elf")))))))) + (inputs + (modify-inputs (package-inputs base) + (append arm-trusted-firmware-rk3328)))))) + (define-public u-boot-cubieboard (make-u-boot-package "Cubieboard" "arm-linux-gnueabihf")) From patchwork Sat Nov 18 16:01:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Herman Rimm X-Patchwork-Id: 56609 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3AB4C27BBE9; Sat, 18 Nov 2023 16:02:38 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id B280727BBE2 for ; Sat, 18 Nov 2023 16:02:35 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r4Nlo-0005uJ-IH; Sat, 18 Nov 2023 11:02:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r4Nll-0005t2-0D for guix-patches@gnu.org; Sat, 18 Nov 2023 11:02:05 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r4Nlj-0007cy-73 for guix-patches@gnu.org; Sat, 18 Nov 2023 11:02:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r4Nlj-0004Gh-25 for guix-patches@gnu.org; Sat, 18 Nov 2023 11:02:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#67261] [PATCH 3/3] images: Add orangepi-r1-plus-lts image. Resent-From: Herman Rimm Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 18 Nov 2023 16:02:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67261 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67261@debbugs.gnu.org Cc: Herman Rimm Received: via spool by 67261-submit@debbugs.gnu.org id=B67261.170032331816384 (code B ref 67261); Sat, 18 Nov 2023 16:02:03 +0000 Received: (at 67261) by debbugs.gnu.org; 18 Nov 2023 16:01:58 +0000 Received: from localhost ([127.0.0.1]:49347 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4Nld-0004G6-Oi for submit@debbugs.gnu.org; Sat, 18 Nov 2023 11:01:58 -0500 Received: from 81-205-150-117.fixed.kpn.net ([81.205.150.117]:54337 helo=email.rimm.ee) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4Nla-0004FY-F4 for 67261@debbugs.gnu.org; Sat, 18 Nov 2023 11:01:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rimm.ee; s=herman; t=1700323292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Vm5QUvd4XSS7FB62wYsJjoC3U+LxgnXWzHe8E9kX/cU=; b=Lb3wj/r6tQhCPLZBQucpKJF/c31ZfVnz3SJM/MfYaGxT6EPpsowXVodA75nvCVUTLeiOAM TOooM90t3U+svSQAokvlX5PK791CObQhP33hzWrCUzJQq0yPJp3eoxnJcU6MvEcFukccp6 WP0J5ptPswuyo+0+x7mJJoESXY3V/Pc0F4JVR4EsCUKymPmNuAkF6Td5bbfahGrHoPsn6Q F9lwiH+1j+NBhbahY+srlZ6c0Cxc+xld3MdVwmCrFfHxfGNFHEuJPUbD5SeEvkkIa75RhV f6e5CzvOv+UMLGcEAnfOgul/nZLnDbi08D4WpYQpT+YRt8CYyPUl1Hr0bIENkg== Received: by 81-205-150-117.fixed.kpn.net (OpenSMTPD) with ESMTPSA id ca0cf89f (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Sat, 18 Nov 2023 16:01:32 +0000 (UTC) Date: Sat, 18 Nov 2023 17:01:28 +0100 Message-ID: <04c59bffe5d465cb17c0b7e8159642f910ce3f35.1700321434.git.herman@rimm.ee> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Herman Rimm X-ACL-Warn: , Herman Rimm via Guix-patches X-Patchwork-Original-From: Herman Rimm via Guix-patches via From: Herman Rimm Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/local.mk: Register image. * gnu/system/images/orangepi-r1-plus-lts-rk3328.scm: New file. * gnu/system/install.scm (orangepi-r1-plus-lts-rk3328-installation-os): New variable. --- gnu/local.mk | 1 + .../images/orangepi-r1-plus-lts-rk3328.scm | 76 +++++++++++++++++++ gnu/system/install.scm | 7 ++ 3 files changed, 84 insertions(+) create mode 100644 gnu/system/images/orangepi-r1-plus-lts-rk3328.scm diff --git a/gnu/local.mk b/gnu/local.mk index 84fcb9c54e..428dc20969 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -749,6 +749,7 @@ GNU_SYSTEM_MODULES = \ \ %D%/system/images/hurd.scm \ %D%/system/images/novena.scm \ + %D%/system/images/orangepi-r1-plus-lts-rk3328.scm \ %D%/system/images/pine64.scm \ %D%/system/images/pinebook-pro.scm \ %D%/system/images/rock64.scm \ diff --git a/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm b/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm new file mode 100644 index 0000000000..eaaa12ba78 --- /dev/null +++ b/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm @@ -0,0 +1,76 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Herman Rimm +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu system images orangepi-r1-plus-lts-rk3328) + #:use-module (gnu bootloader) + #:use-module (gnu bootloader u-boot) + #:use-module (gnu image) + #:use-module (gnu packages linux) + #:use-module (gnu packages certs) + #:use-module (guix platforms arm) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services networking) + #:use-module (gnu system) + #:use-module (gnu system file-systems) + #:use-module (gnu system image) + #:use-module (srfi srfi-26) + #:export (orangepi-r1-plus-lts-rk3328-barebones-os + orangepi-r1-plus-lts-rk3328-image-type + orangepi-r1-plus-lts-rk3328-barebones-raw-image)) + +(define orangepi-r1-plus-lts-rk3328-barebones-os + (operating-system + (host-name "windmolen") + (timezone "Europe/Amsterdam") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader u-boot-orangepi-r1-plus-lts-rk3328-bootloader) + (targets '("/dev/mmcblk0")))) + (initrd-modules '()) + (kernel linux-libre-arm64-generic) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) %base-file-systems)) + (services + (cons* (service agetty-service-type + (agetty-configuration (extra-options '("-L")) ;no carrier detect + (baud-rate "1500000") + (term "vt100") + (tty "ttyS2"))) + (service dhcp-client-service-type) + (service ntp-service-type) %base-services)) + (packages (cons nss-certs %base-packages)))) + +(define orangepi-r1-plus-lts-rk3328-image-type + (image-type (name 'orangepi-r1-plus-lts-rk3328-raw) + (constructor (lambda (os) + (image (inherit (raw-with-offset-disk-image (expt + 2 24))) + (operating-system + os) + (platform aarch64-linux)))))) + +(define orangepi-r1-plus-lts-rk3328-barebones-raw-image + (image (inherit (os+platform->image orangepi-r1-plus-lts-rk3328-barebones-os + aarch64-linux + #:type orangepi-r1-plus-lts-rk3328-image-type)) + (name 'orangepi-r1-plus-lts-rk3328-barebones-raw-image))) + +orangepi-r1-plus-lts-rk3328-barebones-raw-image diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 28161de153..03d2b0b2f4 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2020 Florian Pelz ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2022 Josselin Poiret +;;; Copyright © 2023 Herman Rimm ;;; ;;; This file is part of GNU Guix. ;;; @@ -69,6 +70,7 @@ (define-module (gnu system install) mx6cuboxi-installation-os nintendo-nes-classic-edition-installation-os novena-installation-os + orangepi-r1-plus-lts-rk3328-installation-os firefly-rk3399-installation-os pine64-plus-installation-os pinebook-installation-os @@ -633,6 +635,11 @@ (define nintendo-nes-classic-edition-installation-os "/dev/mmcblk0" ; SD card (solder it yourself) "ttyS0")) +(define orangepi-r1-plus-lts-rk3328-installation-os + (embedded-installation-os u-boot-orangepi-r1-plus-lts-rk3328-bootloader + "/dev/mmcblk0" ; SD card storage + "ttyS0")) + (define pine64-plus-installation-os (embedded-installation-os u-boot-pine64-plus-bootloader "/dev/mmcblk0" ; SD card storage