* [bug#60231] [PATCH] gnu: Add u-boot-sandbox.
@ 2022-12-21 2:41 Maxim Cournoyer
0 siblings, 0 replies; only message in thread
From: Maxim Cournoyer @ 2022-12-21 2:41 UTC (permalink / raw)
To: 60231; +Cc: Maxim Cournoyer
* gnu/packages/bootloaders.scm (u-boot-sandbox): New variable.
---
gnu/packages/bootloaders.scm | 40 ++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 74f1647368..a1f99201d6 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1019,6 +1019,46 @@ (define-public u-boot-qemu-riscv64
(define-public u-boot-qemu-riscv64-smode
(make-u-boot-package "qemu-riscv64_smode" "riscv64-linux-gnu"))
+(define-public u-boot-sandbox
+ (let ((base (make-u-boot-package
+ "sandbox" #f ;build for the native system
+ ;; Disable CONFIG_TOOLS_LIBCRYPTO, CONFIG_FIT_SIGNATURE and
+ ;; CONFIG_FIT_CIPHER and their selectors as these features
+ ;; require OpenSSL, which is incompatible with the GPLv2-only
+ ;; parts of U-boot. The options below replicate the changes
+ ;; that disabling the above features in 'make menuconfig' then
+ ;; refreshing the defconfig with 'make savedefconfig' would do.
+ #:configs (list "# CONFIG_FIT_RSASSA_PSS is not set"
+ "# CONFIG_FIT_CIPHER is not set"
+ "# CONFIG_LEGACY_IMAGE_FORMAT is not set"
+ "# CONFIG_IMAGE_PRE_LOAD is not set"
+ "# CONFIG_IMAGE_PRE_LOAD_SIG is not set"
+ "# CONFIG_CMD_BOOTM_PRE_LOAD is not set"
+ "CONFIG_RSA=y"
+ "# CONFIG_EFI_SECURE_BOOT is not set"
+ "# CONFIG_TOOLS_LIBCRYPTO is not set")
+ #:append-description
+ "The sandbox configuration of U-Boot provides a
+@command{u-boot} command that runs as a normal user space application. It can
+be used to test the functionality of U-Boot interactively without having to
+deploy to an actual target device. @xref{Sandbox<6>,,,u-boot, The U-Boot
+Documentation} for more information (for example by running @samp{info
+\"(u-boot) Sandbox<6>\"}).")))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'symlink-u-boot-command
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; For ease of discovery.
+ (mkdir (string-append #$output "/bin"))
+ (symlink (search-input-file outputs "libexec/u-boot")
+ (string-append #$output "/bin/u-boot"))))))))
+ (inputs (modify-inputs (package-inputs base)
+ (append sdl2))))))
+
(define-public u-boot-sifive-unleashed
(make-u-boot-package "sifive_unleashed" "riscv64-linux-gnu"))
base-commit: 2f7fdf6a6832c184368ec7b358e4b7edf213754f
--
2.38.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2022-12-21 2:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-21 2:41 [bug#60231] [PATCH] gnu: Add u-boot-sandbox Maxim Cournoyer
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.