aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-04-09 19:10:07 +0200
committerLudovic Courtès <ludo@gnu.org>2014-04-09 19:10:07 +0200
commitc865a878a00f6aefbddc93eb68f66b4b7db04fe9 (patch)
tree7e20fcc3913c3636b8dd8f3f447498535bb4d03b
parent289773c1d852a716d44aecbc03316f0c119387a8 (diff)
downloadguix-c865a878a00f6aefbddc93eb68f66b4b7db04fe9.tar
guix-c865a878a00f6aefbddc93eb68f66b4b7db04fe9.tar.gz
gnu: linux-initrd: Mount /dev/pts at boot time.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Remove 'mount' call for /dev/pts. (boot-system): Add it here, after 'chroot' call.
-rw-r--r--guix/build/linux-initrd.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/guix/build/linux-initrd.scm b/guix/build/linux-initrd.scm
index d0e1cfc825..61d4304b65 100644
--- a/guix/build/linux-initrd.scm
+++ b/guix/build/linux-initrd.scm
@@ -120,9 +120,9 @@
(device-number 5 2))
(chmod (scope "dev/ptmx") #o666)
+ ;; Create /dev/pts; it will be mounted later, at boot time.
(unless (file-exists? (scope "dev/pts"))
(mkdir (scope "dev/pts")))
- (mount "none" (scope "dev/pts") "devpts")
;; Rendez-vous point for syslogd.
(mknod (scope "dev/log") 'socket #o666 0)
@@ -341,6 +341,12 @@ to it are lost."
(format #t "loading '~a'...\n" to-load)
(chdir "/root")
(chroot "/root")
+
+ ;; Obviously this has to be done each time we boot. Do it from here
+ ;; so that statfs(2) returns DEVPTS_SUPER_MAGIC like libc's getpt(3)
+ ;; expects (and thus openpty(3) and its users, such as xterm.)
+ (mount "none" "/dev/pts" "devpts")
+
;; TODO: Remove /lib, /share, and /loader.go.
(catch #t
(lambda ()