unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#39696: linux-libre >= 5.4.20 network interfaces, gdm or Xorg and lvm stopped working
@ 2020-02-20 16:24 Sam P
  2020-02-20 17:19 ` Jack Hill
  0 siblings, 1 reply; 4+ messages in thread
From: Sam P @ 2020-02-20 16:24 UTC (permalink / raw)
  To: 39696


[-- Attachment #1.1: Type: text/plain, Size: 868 bytes --]

Hi,

I am using guix desktop for day to day usage for many months

Everything are working fine till linux-libre <= 5.4.19

But after linux-libre >= 5.4.20

1. No ethernet interface is shown only lo: is shown
2. gdm, Xorg totally stopped working
3. lvm command vgchange -ay taken forever and not able to create device
node in /dev/mapper

Presently for lvm support, I had added a mapper class with open/close method
for many months it is nicely working (It was a work around which work for
~6 volumes at boot time.)



I have attached my system config.scm and packages.scm with mail

I am not sure if it issue of

1. my configurations (which still work nicely with <= 5.4.19)

2. it is some issue in guix changes

3. or it linux kernel >= 5.4.20 is causing.

I had tried searching if somebody had reported it, when I have seen nobody
has reported it.

Thanks,

/sharad

[-- Attachment #1.2: Type: text/html, Size: 1380 bytes --]

[-- Attachment #2: config.scm --]
[-- Type: text/x-scheme, Size: 39366 bytes --]

;; This is an operating system configuration generated
;; by the graphical installer.
\f
;; TODO: debug emacs semantic (semantic-parse-region-default (point-min) (point-max) nil nil nil)
\f

(define %alpine-system-init #t)
(define %alpine-use-nongnu  #f)

(define nongnu-desktop? (and %alpine-use-nongnu
                             (not %alpine-system-init)))
\f

(use-modules (guix utils))
(use-modules (guix packages))
(use-modules (gnu services networking))
(use-modules (gnu) (gnu system nss))
(use-service-modules networking ssh)
(use-package-modules bootloaders certs suckless wm)

(use-service-modules desktop networking cups ssh xorg avahi mail)
(use-package-modules certs gnome cups)

(use-modules (gnu packages shells))
(use-modules (gnu packages vim))

(use-modules (gnu))
(use-package-modules screen)
\f
;; other guix

(use-modules (gnu system locale))
(use-modules (guix store))
(use-modules (rnrs lists))
(use-modules (srfi srfi-1))
(use-package-modules base idutils)
(use-service-modules dns mcron messaging)

(define this-config-file (local-file (assoc-ref (current-source-location) 'filename)))
;; (define nm-dnsmasq-file
;;   (plain-file "cache.conf"
;;               "cache-size=1000\n"))
\f
;; non-guix

;; Import nonfree linux module.
(when  nongnu-desktop?
  (use-modules (nongnu packages linux)))
\f

(define %alpine-account-uid                   1000)
(define %alpine-account-user-name             "user1")
(define %alpine-account-comment               "User1")
(define %alpine-account-group-name            "users")
(define %alpine-account-supplementry-groups   '("wheel" "netdev" "audio" "video"))
(define %alpine-account-home-parent-directory "/home")
(define %alpine-account-shell                 #~(string-append #$zsh "/bin/zsh"))
(define %alpine-account-create-home-directory #f)
(define %alpine-guix-substitute-urls          '("https://ci.guix.gnu.org"
                                               "https://bayfront.guixsd.org"
                                               "http://guix.genenetwork.org"
                                               "https://guix.tobias.gr"
                                               "https://ci.guix.info/"
                                               "https://berlin.guixsd.org"))
(define %alpine-guix-extra-options            '(
                                               ;; "--max-jobs=2"
                                               ;; "--cores=1"
                                               "--gc-keep-derivations=yes"
                                               "--gc-keep-outputs=yes"))
(define %alpine-guix-use-substitutes          #t) ;always true

(define %alpine-network-manager-dns           "dnsmasq")
\f

(use-modules (gnu packages linux))
(use-modules (guix modules))

(define (open-nonudev-lvm-device source target)
  "Return a gexp that maps SOURCES to TARGETS as a LVM device, using
'lvm'."
  (with-imported-modules (source-module-closure '((gnu build file-systems)))
    #~(let ((source  #$source)
            (lvm-bin #$(file-append lvm2-static "/sbin/lvm")))
        ;; Use 'lvm2-static', not 'lvm2', to avoid pulling the
        ;; whole world inside the initrd (for when we're in an initrd).
        (begin
          (format #t "Enabling ~a~%" #$target)
          (sleep 1)
          (system* lvm-bin "vgscan" "--mknodes")
          (sleep 1)
          (system* lvm-bin "vgchange" "-ay" (car (string-split #$target #\-)))
          (sleep 1)
          (zero? (system* lvm-bin "lvchange" "-aay" "-y" "--sysinit" "--ignoreskippedcluster"
                          (string-join (string-split #$target #\-) "/")))))))

(define (close-nonudev-lvm-device sources target)
  "Return a gexp that closes TARGET, a LVM device."
  #~(zero? (system* #$(file-append lvm2-static "/sbin/lvm")
                    "lvchange" "-an" "-y" (string-join (string-split #$target #\-) "/"))))

;; (define* (check-nonudev-lvm-device md #:key
;;                             needed-for-boot?
;;                             (initrd-modules '())
;;                             #:allow-other-keys
;;                             #:rest rest)
;;   "Ensure the source of MD is valid."
;;   (let ((source   (mapped-device-source md))
;;         (location (mapped-device-location md)))
;;     (or (not (zero? (getuid)))
;;         (if (uuid? source)
;;             (match (find-partition-by-lvm-uuid (uuid-bytevector source))
;;               (#f
;;                (raise (condition
;;                        (&message
;;                         (message (format #f (G_ "no LVM partition with UUID '~a'")
;;                                          (uuid->string source))))
;;                        (&error-location
;;                         (location (source-properties->location
;;                                    (mapped-device-location md)))))))
;;               ((? string? device)
;;                (check-device-initrd-modules device initrd-modules location)))
;;             (check-device-initrd-modules source initrd-modules location)))))

;; The type of LVM mapped devices.
(define nonudev-lvm-device-mapping (mapped-device-kind (open open-nonudev-lvm-device)
                                                       ;; (check check-nonudev-lvm-device)
                                                       (close close-nonudev-lvm-device)))
\f

(define (open-udev-lvm-device source target)
  "Return a gexp that maps SOURCES to TARGETS as a LVM device, using
'lvm'."
  (with-imported-modules (source-module-closure '((gnu build file-systems)))
    #~(let ((source  #$source)
            (lvm-bin #$(file-append lvm2-static "/sbin/lvm")))
        ;; Use 'lvm2-static', not 'lvm2', to avoid pulling the
        ;; whole world inside the initrd (for when we're in an initrd).
        (begin
          (format #t "Enabling ~a~%" #$target)
          (system* lvm-bin "vgchange" "-ay" (car (string-split #$target #\-)))
          (sleep 1)
          (zero? (system* lvm-bin "lvchange" "-aay" "-y" "--sysinit" "--ignoreskippedcluster"
                          (string-join (string-split #$target #\-) "/")))))))

(define (close-udev-lvm-device sources target)
  "Return a gexp that closes TARGET, a LVM device."
  #~(zero? (system* #$(file-append lvm2-static "/sbin/lvm")
                    "lvchange" "-an" "-y" (string-join (string-split #$target #\-) "/"))))

;; (define* (check-udev-lvm-device md #:key
;;                             needed-for-boot?
;;                             (initrd-modules '())
;;                             #:allow-other-keys
;;                             #:rest rest)
;;   "Ensure the source of MD is valid."
;;   (let ((source   (mapped-device-source md))
;;         (location (mapped-device-location md)))
;;     (or (not (zero? (getuid)))
;;         (if (uuid? source)
;;             (match (find-partition-by-lvm-uuid (uuid-bytevector source))
;;               (#f
;;                (raise (condition
;;                        (&message
;;                         (message (format #f (G_ "no LVM partition with UUID '~a'")
;;                                          (uuid->string source))))
;;                        (&error-location
;;                         (location (source-properties->location
;;                                    (mapped-device-location md)))))))
;;               ((? string? device)
;;                (check-device-initrd-modules device initrd-modules location)))
;;             (check-device-initrd-modules source initrd-modules location)))))

;; The type of LVM mapped devices.
(define udev-lvm-device-mapping (mapped-device-kind (open open-udev-lvm-device)
                                                    ;; (check check-udev-lvm-device)
                                                    (close close-udev-lvm-device)))
\f

(define %alpine-mapped-device-guix-root       (mapped-device (source "/dev/sda31")
                                                            (target "guix-root")
                                                            (type   nonudev-lvm-device-mapping)))

(define %alpine-mapped-device-guix-boot       (mapped-device (source "/dev/sda31")
                                                            (target "guix-boot")
                                                            (type   nonudev-lvm-device-mapping)))

(define %alpine-mapped-device-guix-gnu        (mapped-device (source "/dev/sda31")
                                                            (target "guix-gnu")
                                                            (type   nonudev-lvm-device-mapping)))

(define %alpine-mapped-device-guix-swap       (mapped-device (source "/dev/sda31")
                                                            (target "guix-swap")
                                                            (type   nonudev-lvm-device-mapping)))

(define %alpine-mapped-device-guix-tmp        (mapped-device (source "/dev/sda31")
                                                            (target "guix-tmp")
                                                            (type   nonudev-lvm-device-mapping)))

(define %alpine-mapped-device-guix-var        (mapped-device (source "/dev/sda31")
                                                            (target "guix-var")
                                                            (type   nonudev-lvm-device-mapping)))

(define %alpine-mapped-device-vg01-lv01       (mapped-device (source "/dev/test")
                                                            (target "vg01-lv01")
                                                            (type   udev-lvm-device-mapping)))

(define %alpine-mapped-device-vg02-lv01       (mapped-device (source "/dev/test")
                                                            (target "vg02-lv01")
                                                            (type   udev-lvm-device-mapping)))

(define %alpine-mapped-device-vgres01-lvres01 (mapped-device (source "/dev/test")
                                                            (target "vgres01-lvres01")
                                                            (type   udev-lvm-device-mapping)))

(define %alpine-mapped-device-house-home      (mapped-device (source "/dev/test")
                                                            (target "house-home")
                                                            (type   nonudev-lvm-device-mapping)))
\f

(define %alpine-mapped-devices (list %alpine-mapped-device-guix-root
                                    %alpine-mapped-device-guix-boot
                                    %alpine-mapped-device-guix-gnu
                                    %alpine-mapped-device-guix-var
                                    %alpine-mapped-device-guix-swap
                                    %alpine-mapped-device-guix-tmp
                                    %alpine-mapped-device-house-home
                                    %alpine-mapped-device-house-home
                                    %alpine-mapped-device-house-home))
\f

(define %alpine-udev-lvm-mapped-devices (list %alpine-mapped-device-vgres01-lvres01
                                             %alpine-mapped-device-vg01-lv01
                                             %alpine-mapped-device-vg02-lv01))
\f

;; guix system: error: service 'swap-/dev/mapper/guix-swap' requires 'device-mapping-guix-swap', which is not provided by any service
(define %alpine-swap-devices      (if #f
                                     (list "/dev/mapper/guix-swap")
                                     (list)))
\f

(define %alpine-file-system-guix-root       (file-system (mount-point         "/")
                                                        (device              "/dev/mapper/guix-root")
                                                        (type                "ext4")
                                                        (check?              #f)
                                                        (mount?              #t)
                                                        (create-mount-point? #t)
                                                        (needed-for-boot?    #t)
                                                        (dependencies        %alpine-mapped-devices)))

(define %alpine-file-system-guix-boot       (file-system (mount-point         "/boot")
                                                        (device              "/dev/mapper/guix-boot")
                                                        (type                "ext4")
                                                        (check?              #f)
                                                        (mount?              #t)
                                                        (create-mount-point? #t)
                                                        (needed-for-boot?    #t)
                                                        (dependencies        (append (list %alpine-file-system-guix-root)
                                                                                     %alpine-mapped-devices))))

(define %alpine-file-system-guix-gnu        (file-system (mount-point         "/gnu")
                                                        (device              "/dev/mapper/guix-gnu")
                                                        (type                "ext4")
                                                        (check?              #f)
                                                        (mount?              #t)
                                                        (create-mount-point? #t)
                                                        (needed-for-boot?    #t)
                                                        (dependencies        (append (list %alpine-file-system-guix-root)
                                                                                     %alpine-mapped-devices))))

(define %alpine-file-system-guix-tmp        (file-system (mount-point         "/tmp")
                                                        (device              "/dev/mapper/guix-tmp")
                                                        (type                "ext4")
                                                        (check?              #f)
                                                        (mount?              #t)
                                                        (create-mount-point? #t)
                                                        (needed-for-boot?    #t)
                                                        (dependencies        (append (list %alpine-file-system-guix-root)
                                                                                     %alpine-mapped-devices))))

(define %alpine-file-system-guix-var        (file-system (mount-point         "/var")
                                                        (device              "/dev/mapper/guix-var")
                                                        (type                "ext4")
                                                        (check?              #f)
                                                        (mount?              #t)
                                                        (create-mount-point? #t)
                                                        (needed-for-boot?    #t)
                                                        (dependencies        (append (list %alpine-file-system-guix-root)
                                                                                     %alpine-mapped-devices))))

(define %alpine-file-system-house-home      (file-system (mount-point         "/home")
                                                        (device              "/dev/mapper/house-home")
                                                        (type                "ext4")
                                                        (check?              #f)
                                                        (mount?              (if %alpine-system-init #f #t))
                                                        (create-mount-point? #t)
                                                        (needed-for-boot?    #f)
                                                        (dependencies        (append (list ;; %alpine-file-system-guix-root
                                                                                           )
                                                                                     %alpine-mapped-devices))))

(define %alpine-file-system-vg01-lv01       (file-system (mount-point         "/srv/volumes/local/vg01/lv01")
                                                        (device              "/dev/mapper/vg01-lv01")
                                                        (type                "ext4")
                                                        (check?              #f)
                                                        (mount?              #f)
                                                        (create-mount-point? #f)
                                                        (needed-for-boot?    #f)
                                                        (dependencies        (append (list %alpine-file-system-guix-root)
                                                                                     %alpine-udev-lvm-mapped-devices))))

(define %alpine-file-system-vg02-lv01       (file-system (mount-point         "/srv/volumes/local/vg02/lv01")
                                                        (device              "/dev/mapper/vg02-lv01")
                                                        (type                "ext4")
                                                        (check?              #f)
                                                        (mount?              #f)
                                                        (create-mount-point? #f)
                                                        (needed-for-boot?    #f)
                                                        (dependencies        (append (list %alpine-file-system-guix-root)
                                                                                     %alpine-udev-lvm-mapped-devices))))

(define %alpine-file-system-vgres01-lvres01 (file-system (mount-point         "/srv/volumes/local/vgres01/lvres01")
                                                        (device              "/dev/mapper/vgres01-lvres01")
                                                        (type                "reiserfs")
                                                        (check?              #f)
                                                        (mount?              #f)
                                                        (create-mount-point? #f)
                                                        (needed-for-boot?    #f)))
\f

(define %alpine-file-system-boot-efi        (file-system (mount-point         "/boot/efi")
                                                        ;; (device              (uuid "BAA8-1C0B" 'fat32))
                                                        (device              "/dev/sda1")
                                                        (mount?              #t)
                                                        (create-mount-point? #t)
                                                        (needed-for-boot?    #t)
                                                        (type                "vfat")
                                                        (dependencies        (append (list %alpine-file-system-guix-boot
                                                                                           %alpine-file-system-guix-root)
                                                                                     %alpine-mapped-devices))))
\f

(define %alpine-lvm-mount-home-file-systems         (if %alpine-system-init
                                                       (list)
                                                       (list %alpine-file-system-house-home)))

(define %alpine-lvm-unmount-home-file-systems       (if %alpine-system-init
                                                       (list %alpine-file-system-house-home) 
                                                       (list)))
\f

(define %alpine-mount-lvm-system-file-systems       (list %alpine-file-system-guix-root
                                                         ;; %alpine-file-system-guix-swap
                                                         %alpine-file-system-guix-boot
                                                         %alpine-file-system-guix-gnu
                                                         %alpine-file-system-guix-tmp
                                                         %alpine-file-system-guix-var))

(define %alpine-unmount-lvm-system-file-systems     (list))
\f

(define %alpine-mount-lvm-non-system-file-systems   (list %alpine-file-system-vg01-lv01
                                                         ;; %alpine-file-system-vg02-lv01
                                                         %alpine-file-system-vgres01-lvres01))

(define %alpine-unmount-lvm-non-system-file-systems (list %alpine-file-system-vg02-lv01))
\f

(define %alpine-lvm-system-file-systems             (append %alpine-mount-lvm-system-file-systems
                                                           %alpine-unmount-lvm-system-file-systems
                                                           %alpine-lvm-mount-home-file-systems
                                                           %alpine-lvm-unmount-home-file-systems
                                                           %alpine-mount-lvm-non-system-file-systems
                                                           %alpine-unmount-lvm-non-system-file-systems))
\f

(define %alpine-lvm-file-systems                    (append %alpine-lvm-system-file-systems))
\f

(define %alpine-other-file-systems                  (list %alpine-file-system-boot-efi))
\f

(define %alpine-file-systems                        (append %alpine-lvm-file-systems
                                                           %alpine-other-file-systems
                                                           %base-file-systems))
\f

;; packages
(if (not %alpine-system-init)
    (load "packages.scm"))

(define %alpine-packages (if %alpine-system-init
                            (cons* nss-certs lvm2 vim zsh %base-packages)
                            %alpine-reinit-packages))
\f

(define %alpine-keyboard-layout (keyboard-layout "us" "altgr-intl"))
\f

;; https://www.hubert-lombard.website/GuixSD/html/GuixSD-0.16_en-Dual-Boot-avec-Debian-Testing.html
(define %alpine-grub-other-menuentries '(menu-entries
	               				(list
						  (menu-entry
		        			  (label "Debian GNU/Linux")
	                			  (linux "/boot/vmlinuz-4.19.0-1-amd64")
	                			  (linux-arguments '("root=/dev/sda1"))
	                			  (initrd "/boot/initrd.img-4.19.0-1-amd64")))))

(define %alpine-vm-bootloader
  (bootloader-configuration (bootloader grub-bootloader)
                            (target     "/dev/vda")))

(define %alpine-efi-bootloader
  (bootloader-configuration (bootloader      grub-efi-bootloader)
                            (target          "/boot/efi")
                            (keyboard-layout %alpine-keyboard-layout)))

(define %alpine-nonefi-bootloader
  (bootloader-configuration (bootloader      grub-bootloader)
                            (target          "/dev/sda")
                            (keyboard-layout %alpine-keyboard-layout)))
\f

(define %alpine-vm-initrd
  (lambda (file-systems . rest)
    (apply base-initrd file-systems
           #:extra-modules '("virtio.ko"
                             "virtio_balloon.ko"
                             "virtio_ring.ko"
                             "virtio_blk.ko"
                             "virtio_pci.ko"
                             "virtio_net.ko")
           rest)))

(define %alpine-metal-initrd base-initrd)
\f

(define %alpine-simple-users (list (user-account (uid                    %alpine-account-uid)
                                                 (name                   %alpine-account-user-name)
                                                 (comment                %alpine-account-comment)
                                                 (group                  %alpine-account-group-name)
                                                 (home-directory         (string-append %alpine-account-home-parent-directory "/" %alpine-account-user-name))
                                                 (shell                  %alpine-account-shell)
                                                 (supplementary-groups   %alpine-account-supplementry-groups)
                                                 (create-home-directory? %alpine-account-create-home-directory))

                                   (user-account (uid                    1002)
                                                 (name                   "j")
                                                 (comment                "Jam")
                                                 (group                  %alpine-account-group-name)
                                                 (home-directory         (string-append %alpine-account-home-parent-directory "/" "j"))
                                                 (supplementary-groups   %alpine-account-supplementry-groups)
                                                 (create-home-directory? %alpine-account-create-home-directory))))

(define %alpine-users        (append %alpine-simple-users
                                    %base-user-accounts))
\f

(define %alpine-copy-current-config-file-in-etc (list (simple-service 'config-file etc-service-type
                                                                     ;; https://willschenk.com/articles/2019/installing_guix_on_nuc/
                                                                     ;; Copy current config to /etc/config.scm
                                                                     (append
                                                                      (list `("config/config.scm" ,this-config-file))
                                                                      ;; ("dnsmasq.d/cache.conf" ,nm-dnsmasq-file)
                                                                      (if (not %alpine-system-init)
                                                                          (list `("config/package.scm" ,this-package-file))
                                                                          (list))))))
\f

(define (remove-services types services)
  (remove! (lambda (service)
             (any (lambda (type) (eq? (service-kind service) type))
                  types))
           services))
\f

;; Vixie cron schedular
(define updatedb-job
  ;; Run 'updatedb' at 3AM every day.  Here we write the
  ;; job's action as a Scheme procedure.
  #~(job '(next-hour '(3))
         (lambda ()
           (execl (string-append #$findutils "/bin/updatedb")
                  ;; "updatedb"
                  "--prunepaths=`/tmp /var/tmp /gnu/store /run'"))))

(define garbage-collector-job
  ;; Collect garbage 5 minutes after midnight every day.
  ;; The job's action is a shell command.
  #~(job "5 0 * * *"            ;Vixie cron syntax
         "guix gc -F 1G"))

(define idutils-job
  ;; Update the index database as user "charlie" at 12:15PM
  ;; and 19:15PM.  This runs from the user's home directory.
  #~(job '(next-minute-from (next-hour '(12 19)) '(15))
         (string-append #$idutils "/bin/mkid src")
         #:user "s"))
\f

;; https://guix.gnu.org/manual/en/html_node/Scheduled-Job-Execution.html
(define %alpine-mcron-services (list (service mcron-service-type
                                             (mcron-configuration (jobs (list garbage-collector-job
                                                                              ;; idutils-job
                                                                              updatedb-job))))))
\f

(define %alpine-bitlbee-services (list (service bitlbee-service-type)))
\f

;; https://guix.gnu.org/manual/en/html_node/Mail-Services.html
(define %alpine-mail-aliases-services (list (service mail-aliases-service-type
                                                    '(("postmaster" "bob")
                                                      ("bob"        "bob@example.com" "bob@example2.com")))))
\f

;; https://lists.nongnu.org/archive/html/help-guix/2016-08/msg00061.html
;; https://wingolog.org/pub/alt-os-config.scm
(define %alpine-dovecot-services (list (dovecot-service #:config
                                                       (dovecot-configuration
                                                        (mail-location "maildir:~/.maildir")
                                                        (listen        '("127.0.0.1"))))))

(define %alpine-exim-services (list (service exim-service-type
                                            (exim-configuration
                                             (config-file #f)))))
\f

;; https://notabug.org/thomassgn/guixsd-configuration/src/master/config.scm
;; https://guix.gnu.org/manual/en/html_node/Networking-Services.html
;; https://jonathansblog.co.uk/using-dnsmasq-as-an-internal-dns-server-to-block-online-adverts
;; https://stackoverflow.com/questions/48644841/multiple-addn-hosts-conf-in-dnsmasq
(define %alpine-dnsmasq-services (list (service dnsmasq-service-type
                                               (dnsmasq-configuration (no-resolv? #t)
                                                                      ;; (resolv-file)
                                                                      ;; (no-resolv? #f)
                                                                      ;; (servers '("82.196.9.45"
                                                                      ;;            "51.255.48.78"
                                                                      ;;            "51.15.98.97"))
                                                                      (local-service? #t)))))
\f
;; https://guix.gnu.org/manual/en/html_node/Networking-Services.html
(define %alpine-network-manager-services (list (service network-manager-service-type
                                                       (network-manager-configuration (dns %alpine-network-manager-dns)))))

(define %alpine-avahi-services (list (service avahi-service-type)))

(define %alpine-gpm-services  (list (service gpm-service-type)))
\f

;; https://github.com/alezost/guix-config/blob/master/system-config/os-main.scm
(define %alpine-mingetty-services (list (service mingetty-service-type
                                                (mingetty-configuration (tty "tty1")))
                                       (service mingetty-service-type
                                                (mingetty-configuration (tty "tty2")))
                                       (service mingetty-service-type
                                                (mingetty-configuration (tty "tty3")))
                                       (service mingetty-service-type
                                                (mingetty-configuration (tty "tty4")))
                                       (service mingetty-service-type
                                                (mingetty-configuration (tty "tty5")))
                                       (service mingetty-service-type
                                                (mingetty-configuration (tty "tty6")))))
\f

(define %alpine-cups-services (list (service cups-service-type
                                            (cups-configuration (web-interface? #t)
                                                                (default-paper-size "A4")
                                                                (extensions (list cups-filters
                                                                                  hplip-minimal))))))
\f

;; https://github.com/alezost/guix-config/blob/master/system-config/os-main.scm
;; (define %alpine-polkit-services (list (service polkit-service-type)))
(define %alpine-polkit-services (list ))
\f
(define %alpine-desktop-nm-services (modify-services %desktop-services
                                                    (network-manager-service-type config =>
                                                                                  (network-manager-configuration (inherit config)
                                                                                                                 ;; (vpn-plugins '("network-manager-openconnect"))
                                                                                                                 (dns "dnsmasq")))
                                                    ;; https://gitlab.com/Efraim/guix-config/blob/master/macbook41_config.scm
                                                    (guix-service-type config =>
                                                                       (guix-configuration (inherit config)
                                                                                           ;; (use-substitutes? %alpine-guix-use-substitutes)
                                                                                           ;; (authorized-keys '())
                                                                                           (substitute-urls (append %alpine-guix-substitute-urls
                                                                                                                    %default-substitute-urls))
                                                                                           (extra-options %alpine-guix-extra-options)))))

;; https://issues.guix.info/issue/35674
(when #t
  (set! %alpine-desktop-nm-services (modify-services %alpine-desktop-nm-services
                                     (gdm-service-type config =>
                                                       (gdm-configuration (inherit config)
                                                                          (xorg-configuration
                                                                           (xorg-configuration
                                                                            (keyboard-layout %alpine-keyboard-layout)))
                                                                          ;; (allow-empty-passwords? #t)
                                                                          (auto-login?            #f)
                                                                          (default-user           %alpine-account-user-name))))))
\f

(define %alpine-desktop-services %alpine-desktop-nm-services)
\f


(define %alpine-network-services  (list (service openssh-service-type)
                                       (service tor-service-type)))

(define %alpine-heavy-wm-services (list (service gnome-desktop-service-type)
                                       (service xfce-desktop-service-type)
                                       (service mate-desktop-service-type)
                                       (service enlightenment-desktop-service-type)))

(define %alpine-many-services (append %alpine-network-services
                                     %alpine-heavy-wm-services))

(define %alpine-few-services  (append %alpine-network-services))
\f

(define %alpine-simple-services %alpine-few-services)

(define %alpine-simple-and-desktop-services (append %alpine-simple-services
                                                   %alpine-mail-aliases-services
                                                   %alpine-dovecot-services
                                                   %alpine-gpm-services
                                                   %alpine-mcron-services
                                                   %alpine-cups-services
                                                   %alpine-polkit-services
                                                   %alpine-desktop-services))
\f

(define %alpine-base-with-dhcp-services
  (append (list (service dhcp-client-service-type)
                (service openssh-service-type
                         (openssh-configuration (port-number 2222))))
          %base-services))

(define %alpine-base-services %base-services)
\f

(define %alpine-final-services (if %alpine-system-init
                                  %alpine-base-with-dhcp-services
                                  %alpine-simple-and-desktop-services))

(define %alpine-services       (append %alpine-copy-current-config-file-in-etc
                                      %alpine-final-services))
\f

(define %alpine-firmware (if nongnu-desktop?
                            (list linux-firmware)
                            %base-firmware))
\f

;; https://github.com/alezost/guix-config/blob/master/system-config/os-main.scm

(define %alpine-locale "en_US.utf8")

(define %alpine-locate-names (list "en_US"
                                  "hi_IN"
                                  "ur_PK"
                                  "fa_IR"
                                  "ar_SA"))

(define %alpine-all-locale-definitions  (map (lambda (locale)
                                              (locale-definition (source locale)
                                                                 (name   (string-append locale "." "utf8"))))
                                            %alpine-locate-names))

(define %alpine-locale-definitions      (append %alpine-all-locale-definitions
                                               %default-locale-definitions))
\f

(define %alpine-timezone  "Asia/Kolkata")
\f

;; (define %alpine-host-name "komputilo")
(define %alpine-host-name "guilem")
\f


(define %alpine-bootloader %alpine-efi-bootloader)
(define %alpine-initrd     %alpine-metal-initrd)
\f

;; (define %alpine-setuid-programs %setuid-programs)

(define %alpine-setuid-programs (cons* #~(string-append #$ecryptfs-utils "/sbin/mount.ecryptfs_private")
                                      %setuid-programs))
\f

(define %alpine-kernel (if nongnu-desktop?
                          linux
                          linux-libre))
\f

(operating-system
  (kernel              %alpine-kernel)
  (firmware            %alpine-firmware)
  (initrd              %alpine-initrd)
  (locale              %alpine-locale)
  (locale-definitions  %alpine-locale-definitions)
  (timezone            %alpine-timezone)
  (keyboard-layout     %alpine-keyboard-layout)
  (host-name           %alpine-host-name)
  (setuid-programs     %alpine-setuid-programs)
  (mapped-devices      %alpine-mapped-devices)
  (users               %alpine-users)
  (file-systems        %alpine-file-systems)
  (swap-devices        %alpine-swap-devices)
  (bootloader          %alpine-bootloader)
  (packages            %alpine-packages)
  (services            %alpine-services)
  ;; Allow resolution of '.local' host names with mDNS.
  (name-service-switch %mdns-host-lookup-nss))
\f

;; TO SEE host-file
;; https://guix.gnu.org/manual/en/html_node/Networking-Services.html
\f

[-- Attachment #3: packages.scm --]
[-- Type: text/x-scheme, Size: 3338 bytes --]



(use-modules (gnu packages glib))

\f

(define %alpine-other-packages (list "polkit"
                                    "polkit-gnome"
                                    "autorandr"

                                    ;; "dconf"
                                    "glib-networking"

                                    "xf86-input-evdev"))

(define %alpine-system-selected-package-names (list "glibc-utf8-locales"
                                                   "gdm"
                                                   "gpm"
                                                   "slock" ; need suid
                                                   "zsh"
                                                   "stumpwm"
                                                   "guile-wm"
                                                   "windowmaker"
                                                   ;; "findutils"
                                                   "idutils"
                                                   ;; "twm"
                                                   ;; "herbstluftwm"
                                                   "ecryptfs-utils"))

;; (define %alpine-font-packages (list "gs-fonts"
;;                                    "font-gnu-freefont-ttf"
;;                                    "font-adobe-source-code-pro"
;;                                    "font-terminus"
;;                                    "font-dejavu"
;;                                    "font-hack"
;;                                    "font-awesome"
;;                                    "font-arabic-misc"
;;                                    "font-lohit"))

(define %alpine-mail-packages (list))
(define %alpine-font-packages (list))
(define %alpine-media-packages (list))
(define %alpine-gui-packages (list))
(define %alpine-text-packages (list))
(define %alpine-notification-packages (list))
\f

(define %alpine-package-names-for-installation
  (append %alpine-other-packages
          %alpine-system-selected-package-names
          %alpine-mail-packages
          %alpine-font-packages
          %alpine-media-packages
          %alpine-gui-packages
          %alpine-text-packages
          %alpine-notification-packages))

(define %alpine-system-desktop-packages
  (list lvm2
        ;; for HTTPS access
        nss-certs
        ;; for user mounts
        gvfs))

(define %alpine-system-selected-packages
  (map specification->package
       %alpine-package-names-for-installation))

(define %alpine-system-packages (append %alpine-system-desktop-packages
                                       %alpine-system-selected-packages))

(define %alpine-reinit-packages (append %alpine-system-packages
                                %base-packages))
\f

(define this-package-file
  (local-file (assoc-ref (current-source-location) 'filename)))

;; (define %alpine-copy-current-package-file-in-etc (list
;;                                                  ;; https://willschenk.com/articles/2019/installing_guix_on_nuc/
;;                                                  ;; Copy current config to /etc/config.scm
;;                                                  (simple-service 'package-file etc-service-type
;;                                                                  `(("config.scm" ,this-package-file)))))
\f

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#39696: linux-libre >= 5.4.20 network interfaces, gdm or Xorg and lvm stopped working
  2020-02-20 16:24 bug#39696: linux-libre >= 5.4.20 network interfaces, gdm or Xorg and lvm stopped working Sam P
@ 2020-02-20 17:19 ` Jack Hill
  2020-02-20 23:34   ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 4+ messages in thread
From: Jack Hill @ 2020-02-20 17:19 UTC (permalink / raw)
  To: Sam P; +Cc: 39696

On Thu, 20 Feb 2020, Sam P wrote:

> 1. No ethernet interface is shown only lo: is shown
> 2. gdm, Xorg totally stopped working
> 3. lvm command vgchange -ay taken forever and not able to create device node in /dev/mapper

Sam,

Sorry to hear that you're experiencing this problem. This sounds to me 
like it is actually the problem with the shepherd upgrade as describe in 
<https://issues.guix.gnu.org/issue/39671>, not with linux-libre.

If you want to verify that's the case, you can try reconfiguring with 
commit d39885a8a9e0e03c2bf6277d475d384168bba642 by running

`guix time-machine --commit=d39885a8a9e0e03c2bf6277d475d384168bba642 -- system reconfigure /path/to/config.scm`

That commit will have linux-libre 5.4.20, but not the new shepherd.

Best,
Jack

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#39696: linux-libre >= 5.4.20 network interfaces, gdm or Xorg and lvm stopped working
  2020-02-20 17:19 ` Jack Hill
@ 2020-02-20 23:34   ` pelzflorian (Florian Pelz)
  2020-08-18  4:15     ` maxim.cournoyer
  0 siblings, 1 reply; 4+ messages in thread
From: pelzflorian (Florian Pelz) @ 2020-02-20 23:34 UTC (permalink / raw)
  To: Jack Hill; +Cc: 39696

On Thu, Feb 20, 2020 at 12:19:48PM -0500, Jack Hill wrote:
> Sam,
> 
> Sorry to hear that you're experiencing this problem. This sounds to me like
> it is actually the problem with the shepherd upgrade as describe in
> <https://issues.guix.gnu.org/issue/39671>, not with linux-libre.

Thank you Sam for filing the bug.  The problem with the shepherd
upgrade should be fixed by normal pull and reconfigure now.  Please
report back and if your issue is fixed too reply to
39696-done@debbugs.gnu.org to close this bug.

Regards,
Florian

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#39696: linux-libre >= 5.4.20 network interfaces, gdm or Xorg and lvm stopped working
  2020-02-20 23:34   ` pelzflorian (Florian Pelz)
@ 2020-08-18  4:15     ` maxim.cournoyer
  0 siblings, 0 replies; 4+ messages in thread
From: maxim.cournoyer @ 2020-08-18  4:15 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: 39696-done

Hello,

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> writes:

> On Thu, Feb 20, 2020 at 12:19:48PM -0500, Jack Hill wrote:
>> Sam,
>> 
>> Sorry to hear that you're experiencing this problem. This sounds to me like
>> it is actually the problem with the shepherd upgrade as describe in
>> <https://issues.guix.gnu.org/issue/39671>, not with linux-libre.
>
> Thank you Sam for filing the bug.  The problem with the shepherd
> upgrade should be fixed by normal pull and reconfigure now.  Please
> report back and if your issue is fixed too reply to
> 39696-done@debbugs.gnu.org to close this bug.

6 months have gone by, which suggests the issue is indeed fixed :-).

Closing.

Maxim




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-08-18  4:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-20 16:24 bug#39696: linux-libre >= 5.4.20 network interfaces, gdm or Xorg and lvm stopped working Sam P
2020-02-20 17:19 ` Jack Hill
2020-02-20 23:34   ` pelzflorian (Florian Pelz)
2020-08-18  4:15     ` maxim.cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).