GNU bug report logs - #32313
Failed to boot after reconfiguring with a btrfs drive.

Previous Next

Package: guix;

Reported by: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>

Date: Mon, 30 Jul 2018 15:26:02 UTC

Severity: normal

Done: Danny Milosavljevic <dannym <at> scratchpost.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32313 in the body.
You can then email your comments to 32313 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Mon, 30 Jul 2018 15:26:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Brendan Tildesley <brendan.tildesley <at> openmailbox.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 30 Jul 2018 15:26:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
To: bug-guix <at> gnu.org
Subject: Failed to boot after reconfiguring with a btrfs drive.
Date: Tue, 31 Jul 2018 01:25:22 +1000
I have a second btrfs drive that I normally manually mount as /mnt/1tb.
I decided to add it to my system config and it when I reconfigure it
mounts the drive correctly, but when I reboot I get the error:

WARNING: failed to open /dev/btrfs-control, skipping device
registration: no such file or directory

ERROR: there are 1 errors while registering devices

File system check on /dev/sda1 failed; spawning Bourne-like REPL

Here is my system config:

(use-modules (gnu)
             (gnu system nss)
             (guix packages))
(use-service-modules desktop
                     ssh
                     admin
                     mcron
                     xorg
                     virtualization
                     cups
                     sddm
                     networking
                     ;; avahi
                     ;; dbus
                     )
(use-package-modules certs
                     gnome
                     bootloaders
                     cups
                     ;; libusb
                     ;; networking
                     )

(operating-system
  (kernel-arguments '("modprobe.blacklist=pcspkr,snd_pcsp"))
  (host-name "ui")
  (timezone "Australia/Hobart")
  (locale "en_AU.utf8")

  ;; (locale-definitions '("zh_TW.utf8"
  ;;                       "zh_CN.utf8"
  ;;                       "ja_JP.utf8"
  ;;                       "en_DK.UTF-8"
  ;;                       ))

  ;; Assuming /dev/sdX is the target hard disk, and "my-root"
  ;; is the label of the target root file system.
  (bootloader
   (grub-configuration
    ;;(device "/dev/disk/by-id/ata-Samsung_SSD_850_EVO_1TB_S2PWNX0J204086P")
    (target "/dev/sdc")))

 

  (users
   (cons*
    (user-account
     (name "b")
     (comment "ore")
     (group "users")
     (supplementary-groups
      '("wheel"   ; To use sudo
        "netdev"
        "audio"   ; To play sound
        "video" ; To access the webcam
        "kvm"
        "disk"
        ;; lp lpadmin, seen in other's configs
        ))
     (home-directory "/home/b"))

    (user-account
     (name "b2")
     (comment "ore too")
     (group "users")
     (supplementary-groups
      '("wheel"   ; To use sudo
        "netdev"
        "audio"   ; To play sound
        "video")) ; To access the webcam
     (home-directory "/home/b2"))
    %base-user-accounts))

  ;;System-wide packages.
  (packages
   (cons
    (specification->package+output "glib" "bin")
    (append
     (map specification->package
          '( "nss-certs"         ; For HTTPS access
             "gvfs"              ; For user mounts
             ;"dconf"             ; NOT SURE IF THIS IS ALSO NEEDED
             "glibc-locales"     ; Locales

             "ecryptfs-utils"
             "exfat-utils"
             "ntfs-3g"
             "btrfs-progs"

             "setxkbmap" ; keyboard mappings
             "xmodmap"

             "i3-wm" "i3status";; "dmenu" ; tiling wm
             "dbus" "pcmanfm"
             ;; We cannot rsync over ssh unless rsync is in the system
profile
             "rsync"))
     %base-packages)))

  (services
   (cons*
    (console-keymap-service "en-latin9")
   
    ;; OpenSSH
    (service openssh-service-type
             (openssh-configuration
              (port-number 22)))
    ;; Probably does something useful
    (service rottlog-service-type)

    (service tor-service-type)
    ;; from the manual, this apparently this lets us emulate building on arm
    (service qemu-binfmt-service-type
             (qemu-binfmt-configuration
              (platforms (lookup-qemu-platforms "arm"))
              (guix-support? #t)))

    ;; Printer stuff
    (service cups-service-type
             (cups-configuration
              (web-interface? #t)
              (extensions
               (list cups-filters hplip))))

    ;; Colemak settings for Xorg that are valid for the login manager
    (let ((colemak
           "Section \"InputClass\"
        Identifier \"evdev keyboard catchall\"
        Driver \"evdev\"
        MatchIsKeyboard \"on\"
        Option \"xkb_layout\" \"us\"
        Option \"xkb_variant\" \"colemak\"
EndSection"))
     
      (modify-services %desktop-services
        ;; (remove-services
        ;;  (list
        ;;   ;ntp-service-type
        ;;   screen-locker-service-type)
        ;;  %desktop-services)

        ;; Enable Colemak layout in Slim login
        (slim-service-type config =>
                           (slim-configuration
                            (inherit config)
                            (startx (xorg-start-command
                                     #:configuration-file
                                     (xorg-configuration-file
                                      #:extra-config
                                      (list colemak))))))))))

  ;; Allow resolution of '.local' host names with mDNS.
  (name-service-switch %mdns-host-lookup-nss))






Information forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Mon, 30 Jul 2018 16:56:01 GMT) Full text and rfc822 format available.

Message #8 received at 32313 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
Cc: 32313 <at> debbugs.gnu.org
Subject: Re: bug#32313: Failed to boot after reconfiguring with a btrfs drive.
Date: Mon, 30 Jul 2018 18:55:37 +0200
Hi,

hmm, where's the "file-systems" form in your system config?

The first important part is whether your file-system entry is needed-for-boot? or not.




Information forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Tue, 31 Jul 2018 02:05:02 GMT) Full text and rfc822 format available.

Message #11 received at 32313 <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
To: 32313 <at> debbugs.gnu.org
Subject: Re: bug#32313: Failed to boot after reconfiguring with a btrfs drive.
Date: Tue, 31 Jul 2018 12:04:54 +1000
On 07/31/18 02:55, Danny Milosavljevic wrote:
> Hi,
>
> hmm, where's the "file-systems" form in your system config?
>
> The first important part is whether your file-system entry is needed-for-boot? or not.
>
Sorry, I forgot to un-kill it before copying the whole definition. It's here

(file-systems
   (cons*
    (file-system
      (device (file-system-label "1tb"))
      (mount-point "/mnt/1tb/")
      (type "btrfs"))
    (file-system
      ;;(device
"/dev/disk/by-id/ata-Samsung_SSD_850_EVO_1TB_S2PWNX0J204086P-part1")
      (device (file-system-label "1ssd"))
      (mount-point "/")
      (type "ext4"))
    %base-file-systems))





Information forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Tue, 31 Jul 2018 20:39:02 GMT) Full text and rfc822 format available.

Message #14 received at 32313 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
Cc: 32313 <at> debbugs.gnu.org
Subject: Re: bug#32313: Failed to boot after reconfiguring with a btrfs drive.
Date: Tue, 31 Jul 2018 22:38:36 +0200
[Message part 1 (text/plain, inline)]
On Tue, 31 Jul 2018 01:25:22 +1000
Brendan Tildesley <brendan.tildesley <at> openmailbox.org> wrote:

> I have a second btrfs drive that I normally manually mount as /mnt/1tb.
> I decided to add it to my system config and it when I reconfigure it
> mounts the drive correctly, but when I reboot I get the error:
> 
> WARNING: failed to open /dev/btrfs-control, skipping device
> registration: no such file or directory
> 
> ERROR: there are 1 errors while registering devices
> 
> File system check on /dev/sda1 failed; spawning Bourne-like REPL

Please write ,bt and paste the output here

[Message part 2 (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Tue, 31 Jul 2018 20:41:01 GMT) Full text and rfc822 format available.

Message #17 received at 32313 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
Cc: 32313 <at> debbugs.gnu.org
Subject: Re: bug#32313: Failed to boot after reconfiguring with a btrfs drive.
Date: Tue, 31 Jul 2018 22:40:05 +0200
[Message part 1 (text/plain, inline)]
Hi,

On Tue, 31 Jul 2018 12:04:54 +1000
Brendan Tildesley <brendan.tildesley <at> openmailbox.org> wrote:

> On 07/31/18 02:55, Danny Milosavljevic wrote:
> > Hi,
> >
> > hmm, where's the "file-systems" form in your system config?
> >
> > The first important part is whether your file-system entry is needed-for-boot? or not.
> >  
> Sorry, I forgot to un-kill it before copying the whole definition. It's here
> 
> (file-systems
>    (cons*
>     (file-system
>       (device (file-system-label "1tb"))
>       (mount-point "/mnt/1tb/")
>       (type "btrfs"))
>     (file-system
>       ;;(device
> "/dev/disk/by-id/ata-Samsung_SSD_850_EVO_1TB_S2PWNX0J204086P-part1")
>       (device (file-system-label "1ssd"))
>       (mount-point "/")
>       (type "ext4"))
>     %base-file-systems))

So it defaults to needed-for-boot? #f.

I think this is a real bug.

There is code in Guix to create an initrd.  It will also create a correct
modules.devname and also create a linux-boot module which will run on
system boot and set up some files in /dev (reading from modules.devname),
among those btrfs-control, IF THERE'S A btrfs FILESYSTEM WITH
needed-for-boot? #t .

Here there isn't.  So the initrd won't create /dev/btrfs-control .

But when needed-for-boot? is #f that means the file system will be mounted
somewhen later (not in the initrd) when the root fs and store is already there.

That means there should be a shepherd service or activation part that
parses linux-libre*/modules.devname and creates the still-missing /dev entries.

Where is that part?  It should be either a dependency of the part that mounts
the filesystem or just be right before it.  So we need a backtrace...
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Tue, 31 Jul 2018 21:02:02 GMT) Full text and rfc822 format available.

Message #20 received at 32313 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
Cc: 32313 <at> debbugs.gnu.org
Subject: Re: bug#32313: Failed to boot after reconfiguring with a btrfs drive.
Date: Tue, 31 Jul 2018 23:01:17 +0200
[Message part 1 (text/plain, inline)]
Probably gnu/services/base.scm, file-system-shepherd-service is the one to mount non-needed-for-boot file systems.

udev-shepherd-service does the /dev devname creation.

So file-system-shepherd-service should require the udev service.

It doesn't.
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Tue, 31 Jul 2018 21:07:01 GMT) Full text and rfc822 format available.

Message #23 received at 32313 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
Cc: 32313 <at> debbugs.gnu.org
Subject: Re: bug#32313: Failed to boot after reconfiguring with a btrfs drive.
Date: Tue, 31 Jul 2018 23:06:26 +0200
[Message part 1 (text/plain, inline)]
Probable fix:

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 9fad9af99..921914ccd 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -419,7 +419,7 @@ FILE-SYSTEM."
                                  '((gnu build file-systems)))
            (shepherd-service
             (provision (list (file-system->shepherd-service-name file-system)))
-            (requirement `(root-file-system
+            (requirement `(root-file-system udev
                            ,@(map dependency->shepherd-service-name dependencies)))
             (documentation "Check, mount, and unmount the given file system.")
             (start #~(lambda args

To test, invoke

  ./pre-inst-env guix system reconfigure /etc/config.scm

[Message part 2 (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Wed, 01 Aug 2018 01:59:01 GMT) Full text and rfc822 format available.

Message #26 received at 32313 <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
To: 32313 <at> debbugs.gnu.org
Subject: Re: bug#32313: Failed to boot after reconfiguring with a btrfs drive.
Date: Wed, 1 Aug 2018 11:58:35 +1000
On 08/01/18 06:38, Danny Milosavljevic wrote:
> On Tue, 31 Jul 2018 01:25:22 +1000
> Brendan Tildesley <brendan.tildesley <at> openmailbox.org> wrote:
>
>> I have a second btrfs drive that I normally manually mount as /mnt/1tb.
>> I decided to add it to my system config and it when I reconfigure it
>> mounts the drive correctly, but when I reboot I get the error:
>>
>> WARNING: failed to open /dev/btrfs-control, skipping device
>> registration: no such file or directory
>>
>> ERROR: there are 1 errors while registering devices
>>
>> File system check on /dev/sda1 failed; spawning Bourne-like REPL
> Please write ,bt and paste the output here
>
,bt shows that there is "nothing to debug"





Information forwarded to bug-guix <at> gnu.org:
bug#32313; Package guix. (Wed, 01 Aug 2018 15:15:02 GMT) Full text and rfc822 format available.

Message #29 received at 32313 <at> debbugs.gnu.org (full text, mbox):

From: Brendan Tildesley <brendan.tildesley <at> openmailbox.org>
Cc: 32313 <at> debbugs.gnu.org
Subject: bug#32313: Failed to boot after reconfiguring with a btrfs drive.
Date: Thu, 2 Aug 2018 01:14:24 +1000
On 08/01/18 07:06, Danny Milosavljevic wrote:
> Probable fix:
>
> diff --git a/gnu/services/base.scm b/gnu/services/base.scm
> index 9fad9af99..921914ccd 100644
> --- a/gnu/services/base.scm
> +++ b/gnu/services/base.scm
> @@ -419,7 +419,7 @@ FILE-SYSTEM."
>                                   '((gnu build file-systems)))
>             (shepherd-service
>              (provision (list (file-system->shepherd-service-name file-system)))
> -            (requirement `(root-file-system
> +            (requirement `(root-file-system udev
>                             ,@(map dependency->shepherd-service-name dependencies)))
>              (documentation "Check, mount, and unmount the given file system.")
>              (start #~(lambda args
>
> To test, invoke
>
>   ./pre-inst-env guix system reconfigure /etc/config.scm
>
You're a genius! This appears to have fixed the problem, Although it
increases my boot time by 5 seconds or so. I guess shepherd doesn't have
the ability to load such things in parallel yet.





bug closed, send any further explanations to 32313 <at> debbugs.gnu.org and Brendan Tildesley <brendan.tildesley <at> openmailbox.org> Request was from Danny Milosavljevic <dannym <at> scratchpost.org> to control <at> debbugs.gnu.org. (Thu, 02 Aug 2018 13:23:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 31 Aug 2018 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 239 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.