diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2020-11-07 22:27:33 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2020-11-22 11:05:11 +0100 |
commit | d82f227291699e4bea655fbac23620576702667b (patch) | |
tree | 666bbc47a4ccf3a60034d7d3b3d66e3999b2c497 | |
parent | 8e7c98963f7e51b2ee9fd140f1aa59cf0f762a60 (diff) |
gnu: Add heads-dev-cpio.
* gnu/packages/heads.scm (heads-dev-cpio): New variable.
-rw-r--r-- | gnu/packages/heads.scm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/heads.scm b/gnu/packages/heads.scm index b28433431c..5f49265ebb 100644 --- a/gnu/packages/heads.scm +++ b/gnu/packages/heads.scm @@ -19,6 +19,7 @@ (define-module (gnu packages heads) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -161,3 +162,36 @@ done (synopsis "Musl-cross gcc 5 toolchain") (description "Musl-cross toolchain: binutils, gcc 5 and musl.") (license license:isc)))) + +;; This package provides a "dev.cpio" file usable as a base for booting Heads. +(define-public heads-dev-cpio + (package + (name "heads-dev-cpio") + (version "0.1") + (source #f) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils) + (guix cpio)) + #:builder (begin + (use-modules (guix build utils) + (guix cpio) + (srfi srfi-26)) + (mkdir-p "dev") ; input directory. + (let* ((out (assoc-ref %outputs "out")) + (libexec (string-append out "/libexec"))) + (mkdir-p libexec) + (call-with-output-file (string-append libexec "/dev.cpio") + (lambda (port) + (write-cpio-archive '("dev" "dev/console") port + #:file->header + (lambda (name) + (if (string=? "dev/console" name) + (special-file->cpio-header* name 'char-special 5 1 #o600) + (file->cpio-header* name)))))) + #t)))) + (synopsis "@file{dev.cpio} for Heads") + (description "This package provides a @file{dev.cpio} file usable as a +base for heads' initrd.") + (home-page "http://osresearch.net/") + (license license:bsd-2))) |