[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#52051: [core-updates-frozen] cannot login ('org.freedesktop.login1'

From: Maxim Cournoyer
Subject: bug#52051: [core-updates-frozen] cannot login ('org.freedesktop.login1' service times out)
Date: Thu, 25 Nov 2021 17:07:30 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)


In case it is useful, here's what the shepherd-graph of my system looks

Attachment: hurd.svg
Description: Binary data

My system configuration looks something like this (some parts redacted).

--8<---------------cut here---------------start------------->8---
(use-modules (gnu)
             (guix modules)
             (srfi srfi-1)
             ;; for mcron experiment
             (gnu packages autotools)
             (gnu packages guile-xyz)
             (gnu packages man)
             (gnu packages texinfo)
             (guix git)
             (guix packages))

(use-service-modules admin audio desktop docker linux mail mcron networking nfs
                     nix spice ssh sysctl telephony virtualization vpn xorg)
(use-package-modules android bootloaders certs gnome linux
                     nfs ratpoison rsync tls)

(define updatedb-job
  ;; Run 'updatedb' at 3AM every day.
  #~(job '(next-hour '(3))
         (lambda ()
           (execl #$(file-append findutils "/bin/updatedb")
                  "--prunepaths=/gnu/store /tmp /var/tmp /var/lib"))

(define btrfs-balance-job
  ;; Re-allocate chunks which are using less than 5% of their chunk
  ;; space, to regain Btrfs 'unallocated' space.  The usage is kept
  ;; low (5%) to minimize wear on the SSD.  Runs at 5 AM every 3 days.
  #~(job '(next-hour-from (next-day (range 1 31 3)) '(5))
         (lambda ()
           (execl #$(file-append btrfs-progs "/bin/btrfs")
                  "balance" "start" "-dusage=5" "/"))

(define i2c-udev-rule
  ;; Sets i2c group to i2c devices, so that we can access it as a
  ;; simple user, e.g. using ddcutil.
   (string-append "KERNEL==\"i2c-[0-9]*\", "

(define c920-webcam-udev-rule
  (udev-rule "90-c920-webcam.rules"
             (string-append "SUBSYSTEM==\"usb\", "
                            "ATTRS{idVendor}==\"046d\", "
                            "ATTRS{idProduct}==\"082d\", "

(define %my-desktop-services
  (remove (lambda (service)
            (eq? (service-kind service) gdm-service-type))

;; TODO: Honor rootflags in the initrd,
;; then remove degraded.
(define %common-btrfs-options '(("compress-force" . "zstd")
                                ("space_cache" . "v2")

(define %system
    (host-name "hurd")
    (timezone "America/Montreal")
    (keyboard-layout (keyboard-layout "dvorak"))
    (bootloader (bootloader-configuration
                 (bootloader grub-bootloader)
                 (targets (list "/dev/sda" "/dev/sdb" "/dev/sdc"))
                 (terminal-outputs '(console))
                 (keyboard-layout keyboard-layout)))
    (kernel-arguments '("quiet" "snd_hda_intel.dmic_detect=0"
     (list (mapped-device
            (source "/dev/sda2")
            (target "cryptroot")
            (type luks-device-mapping))
            (source "/dev/sdb2")
            (target "cryptroot-mirror")
            (type luks-device-mapping))
            (source "/dev/sdc2")
            (target "cryptroot-mirror2")
            (type luks-device-mapping))))

    ;; Note: Using any of the LUKS encrypted drives exposed under
    ;; /dev/mapper is enough to reference the Btrfs RAID-1 array,
    ;; since the 'btrfs device scan' command is executed in the init
    ;; RAM disk and takes care of assembling the array.
    (file-systems (cons* (file-system
                           (mount-point "/")
                           (device "/dev/mapper/cryptroot")
                           (type "btrfs")
                           (options (alist->file-system-options
                                     (cons '("subvol" . "@root")
                           (dependencies mapped-devices))
                           (device "/dev/mapper/cryptroot")
                           (mount-point "/home")
                           (type "btrfs")
                           (options (alist->file-system-options
                                     (cons '("subvol" . "@home")
                           (dependencies mapped-devices))
                           (device "/dev/mapper/cryptroot")
                           (mount-point "/data")
                           (type "btrfs")
                           (options (alist->file-system-options
                                     (cons '("subvol" . "@data")
                           (dependencies mapped-devices))
    (users (cons (user-account
                  (name "me")
                  (group "users")
                   '("lp"               ;for bluetooth
                     "dialout"          ;for serial port
                     "adbusers"         ;for adb
                     "i2c"              ;for ddcutil
                     "realtime"         ;for jackd
                     "kvm" "libvirt" "docker"
                     "wheel" "netdev" "audio" "video"))
                  (home-directory "/home/maxim"))
     (cons* (user-group (system? #t) (name "adbusers"))
            (user-group (system? #t) (name "i2c"))
            (user-group (system? #t) (name "realtime"))
      (service docker-service-type (docker-configuration
                                    (debug? #t)))
      (service qemu-binfmt-service-type
                (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc64le"))))
      (service earlyoom-service-type)
      (service zram-device-service-type (zram-device-configuration
                                         (size "6G")
                                         (compression-algorithm 'ZSTD)))
      (bluetooth-service #:auto-enable? #t)
        ;; Required in order for jackd to function properly.
        (pam-limits-entry "@realtime" 'both 'rtprio 99)
        (pam-limits-entry "@realtime" 'both 'memlock 'unlimited)))
      (service mcron-service-type
                (mcron (package/inherit mcron
                         (source (git-checkout
                                  (url "file:///home/maxim/src/mcron")))
                         (native-inputs (append
                                            `(("autoconf" ,autoconf)
                                              ("automake" ,automake)
                                              ("help2man" ,help2man)
                                              ("texinfo" ,texinfo))
                                            (package-native-inputs mcron)))))
                (jobs (list updatedb-job
      (service mpd-service-type
                (user "me")))
      ;; Virtualization services to use with GNOME Boxes.
      (service libvirt-service-type
                (unix-sock-group "libvirt")))
      (service virtlog-service-type)
      (service opendht-service-type (opendht-configuration
                                     (enable-logging? #t)
                                     (peer-discovery? #t)
                                     (proxy-server-port 8282)))
      (service openssh-service-type
                (port-number 22)
                (permit-root-login #f)
                (password-authentication? #f)
                (use-pam? #f))))
      (service slim-service-type
                (auto-login? #f)
                (default-user "me")
                  (keyboard-layout keyboard-layout)))))
      (service nix-service-type)
      (service nfs-service-type
                (nfs-versions '("4.2" "4.1" "4.0"
                                "3" "2")) ; for U-Boot
                (nfsd-udp? #t)))        ;for U-Boot
      (service guix-publish-service-type
                (advertise? #t)
                (host "")))      ;listen on all interfaces
      (modify-services %my-desktop-services
        ;; Ignore the silly HHKB2 power off key shortcut.
        (elogind-service-type config =>
                               (inherit config)
                               (handle-power-key 'ignore)))
        ;; Enable using adb as a simple user with a multitude of devices.
        (udev-service-type config =>
                            (inherit config)
                            (rules (cons* android-udev-rules
                                          (udev-configuration-rules config)))))
        (network-manager-service-type config =>
                                       (inherit config)
                                        (list network-manager-openvpn
        (guix-service-type config =>
                            (inherit config)
                            (substitute-urls '("";
                            (discover? #t)
                            (log-compression 'none)
                            (extra-options '("--max-jobs=4")))))))

    ;; Packages installed by default.
    (packages (append (map specification->package
                             "linux-pam" ;for the pam_limits manpage
                             "nss-certs" ;for HTTPS access
                             "rsync"     ;for the backup script
                             "ntfs-3g")) ;for mount.ntfs

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

--8<---------------cut here---------------end--------------->8---

But virtualizing it with `guix system vm` doesn't trigger the bug, I'm
guessing because the NFS export doesn't work (it fails quickly rather
than take time like it would on an actual boot).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]