From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:35587) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iJtRj-0003xH-1P for guix-patches@gnu.org; Mon, 14 Oct 2019 02:03:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iJtRh-000679-84 for guix-patches@gnu.org; Mon, 14 Oct 2019 02:03:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57107) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iJtRf-00065t-DS for guix-patches@gnu.org; Mon, 14 Oct 2019 02:03:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iJtRf-0006qo-8X for guix-patches@gnu.org; Mon, 14 Oct 2019 02:03:03 -0400 Subject: [bug#37741] [PATCH 3/3] gnu: Add u-boot-rockpro64-rk3399 Resent-Message-ID: From: nomble@palism.com Date: Mon, 14 Oct 2019 02:01:53 -0400 Message-Id: <20191014060153.31198-1-nomble@palism.com> In-Reply-To: <20191014001407.28367-1-nomble@palism.com> References: <20191014001407.28367-1-nomble@palism.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 37741@debbugs.gnu.org Cc: Vagrant Cascadian , Danny Milosavljevic , Caliph Nomble From: Caliph Nomble * gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399): New exported variable. * gnu/bootloader/u-boot.scm (u-boot-rockpro64-rk3399-bootloader): New exported variable. (install-rockpro64-rk3399-u-boot): New variable. * gnu/system/install.scm (rockpro64-installation-os): New exported variable. Signed-off-by: Caliph Nomble --- gnu/bootloader/u-boot.scm | 17 +++++++++++++++++ gnu/packages/bootloaders.scm | 20 ++++++++++++++++++++ gnu/system/install.scm | 6 ++++++ 3 files changed, 43 insertions(+) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 54abfe1c69..4f98be2483 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -34,6 +34,7 @@ u-boot-pine64-plus-bootloader u-boot-pinebook-bootloader u-boot-puma-rk3399-bootloader + u-boot-rockpro64-rk3399-bootloader u-boot-wandboard-bootloader)) (define install-u-boot @@ -90,6 +91,15 @@ (write-file-on-device u-boot (stat:size (stat u-boot)) device (* 512 512))))) +(define install-rockpro64-rk3399-u-boot + #~(lambda (bootloader device mount-point) + (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)) + device (* 64 512)) + (write-file-on-device u-boot (stat:size (stat u-boot)) + device (* 16384 512))))) + ;;; @@ -179,3 +189,10 @@ (inherit u-boot-bootloader) (package u-boot-puma-rk3399) (installer install-puma-rk3399-u-boot))) + +(define u-boot-rockpro64-rk3399-bootloader + ;; SD and eMMC use the same format + (bootloader + (inherit u-boot-bootloader) + (package u-boot-rockpro64-rk3399) + (installer install-rockpro64-rk3399-u-boot))) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 91f27d2e38..16cb72b46c 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -743,6 +743,26 @@ to Novena upstream, does not load u-boot.img from the first partition.") ("firmware-m0" ,rk3399-cortex-m0) ,@(package-native-inputs base)))))) +(define-public u-boot-rockpro64-rk3399 + (let ((base (make-u-boot-package "rockpro64-rk3399" "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 inputs #:allow-other-keys) + (setenv "BL31" (string-append (assoc-ref inputs "firmware") + "/bl31.elf")) + #t)) + ;; Phases do not succeed on the bl31 ELF. + (delete 'strip) + (delete 'validate-runpath))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-rk3399) + ,@(package-native-inputs base)))))) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 912096027f..eab3649269 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -62,6 +62,7 @@ novena-installation-os pine64-plus-installation-os pinebook-installation-os + rockpro64-installation-os rk3399-puma-installation-os wandboard-installation-os os-with-u-boot)) @@ -583,6 +584,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." "/dev/mmcblk0" ; SD card storage "ttyS0")) +(define rockpro64-installation-os + (embedded-installation-os u-boot-rockpro64-rk3399-bootloader + "/dev/mmcblk0" ; SD card/eMMC (SD priority) storage + "ttyS2")) ; UART2 connected on the Pi2 bus + (define rk3399-puma-installation-os (embedded-installation-os u-boot-puma-rk3399-bootloader "/dev/mmcblk0" ; SD card storage -- 2.21.0