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.
This commit is contained in:
Ludovic Courtès 2014-04-09 19:10:07 +02:00
parent 289773c1d8
commit c865a878a0

View file

@ -120,9 +120,9 @@ (define (scope dir)
(device-number 5 2)) (device-number 5 2))
(chmod (scope "dev/ptmx") #o666) (chmod (scope "dev/ptmx") #o666)
;; Create /dev/pts; it will be mounted later, at boot time.
(unless (file-exists? (scope "dev/pts")) (unless (file-exists? (scope "dev/pts"))
(mkdir (scope "dev/pts"))) (mkdir (scope "dev/pts")))
(mount "none" (scope "dev/pts") "devpts")
;; Rendez-vous point for syslogd. ;; Rendez-vous point for syslogd.
(mknod (scope "dev/log") 'socket #o666 0) (mknod (scope "dev/log") 'socket #o666 0)
@ -341,6 +341,12 @@ (define MS_RDONLY 1)
(format #t "loading '~a'...\n" to-load) (format #t "loading '~a'...\n" to-load)
(chdir "/root") (chdir "/root")
(chroot "/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. ;; TODO: Remove /lib, /share, and /loader.go.
(catch #t (catch #t
(lambda () (lambda ()