diff options
author | Arun Isaac <arunisaac@systemreboot.net> | 2022-03-29 16:13:03 +0530 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2022-03-31 15:20:11 +0300 |
commit | 668d52a8158b8ed8fa044e2153c657cb4c46bce3 (patch) | |
tree | 924a4c6dd3e3b2c2d05b91959e0847f2b5c88b62 | |
parent | 9afad0c16ee4074af30fcf6afeafd5243bdab886 (diff) | |
download | guix-668d52a8158b8ed8fa044e2153c657cb4c46bce3.tar guix-668d52a8158b8ed8fa044e2153c657cb4c46bce3.tar.gz |
gnu: Add riscv-pk.
* gnu/packages/virtualization.scm (riscv-pk): New variable.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r-- | gnu/packages/virtualization.scm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 4c0f02154c..a058e59f6b 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -2365,3 +2365,42 @@ use with virtualization provisioning tools") "@code{transient} is a wrapper for QEMU allowing the creation of virtual machines with shared folder, ssh, and disk creation support.") (license license:expat))) + +(define-public riscv-pk + (package + (name "riscv-pk") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/riscv-software-src/riscv-pk") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cc0rz4q3a1zw8756b8yysw8lb5g4xbjajh5lvqbjix41hbdx6xz")))) + (build-system gnu-build-system) + (arguments + (list #:out-of-source? #t + ;; riscv-pk can only be built for riscv64. + #:target "riscv64-linux-gnu" + #:make-flags #~(list (string-append "INSTALLDIR=" #$output)) + ;; Add flags to keep symbols fromhost and tohost. These symbols are + ;; required for the correct functioning of pk. + #:strip-flags #~(list "--strip-unneeded" + "--keep-symbol=fromhost" + "--keep-symbol=tohost" + "--enable-deterministic-archives"))) + (home-page "https://github.com/riscv-software-src/riscv-pk") + (synopsis "RISC-V Proxy Kernel") + (description "The RISC-V Proxy Kernel, @command{pk}, is a lightweight +application execution environment that can host statically-linked RISC-V ELF +binaries. It is designed to support tethered RISC-V implementations with +limited I/O capability and thus handles I/O-related system calls by proxying +them to a host computer. + +This package also contains the Berkeley Boot Loader, @command{bbl}, which is a +supervisor execution environment for tethered RISC-V systems. It is designed +to host the RISC-V Linux port.") + (license license:bsd-3))) |