From 683cba75ea529c7390a79826124d7798d47d65cd Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Apr 2020 16:19:05 +0200 Subject: linux-boot: 'make-essential-device-nodes' root parameter is optional. * gnu/build/linux-boot.scm (make-essential-device-nodes): Change 'root' to an optional parameter. * gnu/build/vm.scm (root-partition-initializer): Adjust accordingly. --- gnu/build/linux-boot.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/build/linux-boot.scm') diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 4fb711b8f2..787665e320 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Guillaume Le Vaillant ;;; @@ -223,7 +223,7 @@ one specific hardware device. These we have to create." (call-with-input-file devname-name read-static-device-nodes)))) -(define* (make-essential-device-nodes #:key (root "/")) +(define* (make-essential-device-nodes #:optional (root "/")) "Make essential device nodes under ROOT/dev." ;; The hand-made devtmpfs/udev! -- cgit v1.2.3 From ac61e876a4594af763994f0d5d4681ee5284f1f0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 09:47:36 +0200 Subject: linux-boot: Add 'make-hurd-device-nodes'. * gnu/build/linux-boot.scm (make-hurd-device-nodes): New procedure. --- gnu/build/linux-boot.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu/build/linux-boot.scm') diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 787665e320..d1c9f47f33 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -40,6 +40,7 @@ find-long-option find-long-options make-essential-device-nodes + make-hurd-device-nodes make-static-device-nodes configure-qemu-networking @@ -323,6 +324,36 @@ one specific hardware device. These we have to create." ;; File systems in user space (FUSE). (mknod (scope "dev/fuse") 'char-special #o666 (device-number 10 229))) +(define* (make-hurd-device-nodes #:optional (root "/")) + "Make some of the nodes needed on GNU/Hurd." + (define (scope dir) + (string-append root + (if (string-suffix? "/" root) + "" + "/") + dir)) + + (mkdir (scope "dev")) + (for-each (lambda (file) + (call-with-output-file (scope file) + (lambda (port) + (chmod port #o666)))) + '("dev/null" + "dev/zero" + "dev/full" + "dev/random" + "dev/urandom")) + ;; Don't create /dev/console, /dev/vcs, etc.: they are created by + ;; console-run on first boot. + + (mkdir (scope "servers")) + (mkdir (scope "servers/socket")) + ;; Don't create /servers/socket/1 & co: runsystem does that on first boot. + + ;; TODO: Set the 'gnu.translator' extended attribute for passive translator + ;; settings? + ) + (define %host-qemu-ipv4-address (inet-pton AF_INET "10.0.2.10")) -- cgit v1.2.3