unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Shyam Saran <syamsaran12345@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 46555@debbugs.gnu.org
Subject: bug#46555: LVM swap continuously fails guix system: error: service 'swap-/dev/mapper/guix-swap' requires 'device-mapping-guix-swap', which is not provided by any service
Date: Fri, 26 Feb 2021 13:38:03 +0530	[thread overview]
Message-ID: <CABVJY8oZz2RixEx0SOgtWWOD+m0yo5sjrdpnK8pDEcLx-+coxA@mail.gmail.com> (raw)
In-Reply-To: <8735xkz3m2.fsf@gnu.org>


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

Result of application of system build command

$ guix  system   build ~/tmp/config.scm

               2s
guix system: warning: the following groups appear more than once: users
guix system: error: service 'swap-/dev/mapper/guix-swap' requires
'device-mapping-guix-swap', which is not provided by any service


To be sure everything are correct

I had created lvm volume group guix and house
and their subvolume root, boot, var, gnu, swap, tmp (in guix) and home (in
house)


Result is the same, whether these volume groups were present or not.


Thanks


On Thu, 25 Feb 2021 at 18:49, Ludovic Courtès <ludo@gnu.org> wrote:

> Hi,
>
> Shyam Saran <syamsaran12345@gmail.com> skribis:
>
> > Thanks for response, I am attaching config.scm
>
> I get:
>
> --8<---------------cut here---------------start------------->8---
> $ guix system build /tmp/config.scm
> guix system: error: fiasko dum ŝargo de '/tmp/config.scm':
> /tmp/config.scm:277:58: In procedure append: Wrong type argument in
> position 1 (expecting empty list): #<<file-system> device:
> "/dev/mapper/house-home" mount-point: "/home" type: "ext4" flags: ()
> options: #f mount?: #t mount-may-fail?: #f needed-for-boot?: #f check?: #f
> create-mount-point?: #t dependencies: (#<<mapped-device> source:
> "/dev/sda31" targets: ("guix-root") type: #<<mapped-device-type> open:
> #<procedure open-non-udev-lvm-device (source targets)> close: #<procedure
> close-non-udev-lvm-device (sources targets)> check: #<procedure
> 7f839682c5e0 at ice-9/boot-9.scm:803:2 _>> location: ((line . 133) (column
> . 52) (filename . "/tmp/config.scm"))> #<<mapped-device> source:
> "/dev/sda31" targets: ("guix-boot") type: #<<mapped-device-type> open:
> #<procedure open-non-udev-lvm-device (source targets)> close: #<procedure
> close-non-udev-lvm-device (sources targets)> check: #<procedure
> 7f839682c5e0 at ice-9/boot-9.scm:803:2 _>> location: ((line . 137) (column
> . 52) (filename . "/tmp/config.scm"))> #<<mapped-device> source:
> "/dev/sda31" targets: ("guix-gnu") type: #<<mapped-device-type> open:
> #<procedure open-non-udev-lvm-device (source targets)> close: #<procedure
> close-non-udev-lvm-device (sources targets)> check: #<procedure
> 7f839682c5e0 at ice-9/boot-9.scm:803:2 _>> location: ((line . 141) (column
> . 52) (filename . "/tmp/config.scm"))> #<<mapped-device> source:
> "/dev/sda31" targets: ("guix-var") type: #<<mapped-device-type> open:
> #<procedure open-non-udev-lvm-device (source targets)> close: #<procedure
> close-non-udev-lvm-device (sources targets)> check: #<procedure
> 7f839682c5e0 at ice-9/boot-9.scm:803:2 _>> location: ((line . 153) (column
> . 52) (filename . "/tmp/config.scm"))> #<<mapped-device> source:
> "/dev/sda31" targets: ("guix-swap") type: #<<mapped-device-type> open:
> #<procedure open-non-udev-lvm-device (source targets)> close: #<procedure
> close-non-udev-lvm-device (sources targets)> check: #<procedure
> 7f839682c5e0 at ice-9/boot-9.scm:803:2 _>> location: ((line . 145) (column
> . 52) (filename . "/tmp/config.scm"))> #<<mapped-device> source:
> "/dev/sda31" targets: ("guix-tmp") type: #<<mapped-device-type> open:
> #<procedure open-non-udev-lvm-device (source targets)> close: #<procedure
> close-non-udev-lvm-device (sources targets)> check: #<procedure
> 7f839682c5e0 at ice-9/boot-9.scm:803:2 _>> location: ((line . 149) (column
> . 52) (filename . "/tmp/config.scm"))> #<<mapped-device> source:
> "/dev/test" targets: ("house-home") type: #<<mapped-device-type> open:
> #<procedure open-non-udev-lvm-device (source targets)> close: #<procedure
> close-non-udev-lvm-device (sources targets)> check: #<procedure
> 7f839682c5e0 at ice-9/boot-9.scm:803:2 _>> location: ((line . 157) (column
> . 52) (filename . "/tmp/config.scm"))>) location: ((line . 233) (column .
> 50) (filename . "/tmp/config.scm"))>
> --8<---------------cut here---------------end--------------->8---
>
> Could you make sure the file passes ‘guix system build’?
>
> TIA,
> Ludo’.
>

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

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

;; This is an operating system configuration generated

(use-modules (guix utils))
(use-modules (guix packages))
(use-modules (gnu services networking))
(use-modules (gnu services audio))
(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)
\f

(define %local-fs-boot-efi-partition "/dev/sda1")

(define %local-grub-ubuntu-menuentries (list (menu-entry (label "Ubuntu GNU/Linux")
                                                         (linux "(lvm/tf1e5mXubuntu-boot)/vmlinuz")
                                                         (linux-arguments '("root=/dev/mapper/tf1e5mXubuntu-root ro --verbose nosplash debug"))
                                                         (initrd "(lvm/tf1e5mXubuntu-boot)/initrd.img"))))
\f

(define %localmachine-host-name                     "komputilo")
(define %localmachine-account-uid                   1000)
(define %localmachine-account-user-name             "s")
(define %localmachine-account-comment               "shyam")
(define %localmachine-account-group-name            "users")
(define %localmachine-account-group-gid              1000)
(define %localmachine-account-supplementry-groups   '("wheel" "netdev" "audio" "video"))
(define %localmachine-account-home-parent-directory "/home")
(define %localmachine-account-shell                 #~(string-append #$zsh "/bin/zsh"))
(define %localmachine-gdm-auto-login                #f)
(define %localmachine-gdm-allow-empty-password      #t)

(define %localmachine-account-create-home-directory #f)
(define %localmachine-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"
                                                      "https://berlin.guix.gnu.org"))
(define %localmachine-guix-extra-options            '(
                                                      ;; "--max-jobs=2"
                                                      ;; "--cores=1"
                                                      "--gc-keep-derivations=yes"
                                                      "--gc-keep-outputs=yes"))
(define %localmachine-guix-use-substitutes          #t) ;always true

(define %localmachine-network-manager-dns           "dnsmasq")
(define %localmachine-default-realm                 #f)
\f

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

(define (open-non-udev-lvm-device source targets)
  "Return a gexp that maps SOURCES to TARGETSS as a LVM device, using
'lvm'."
  (with-imported-modules (source-module-closure '((gnu build file-systems)))
                         #~(let ((source   #$source)
                                 (targets  '#$targets)
                                 (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~%" '#$targets)
                               (sleep 1)
                               (system* lvm-bin "vgscan" "--mknodes")
                               (sleep 1)
                               (map (lambda (file) (system* lvm-bin "vgchange" "-ay" (car (string-split file #\-))))
                                    '#$targets)
                               (sleep 1)
                               (map (lambda (file) (zero? (system* lvm-bin "lvchange" "-aay" "-y" "--sysinit" "--ignoreskippedcluster"
                                                                   (string-join (string-split file #\-) "/"))))
                                    '#$targets)
                               #t))))

(define (close-non-udev-lvm-device sources targets)
  "Return a gexp that closes TARGETS, a LVM device."
  #~(begin
      (map (lambda (file) (zero? (system* #$(file-append lvm2-static "/sbin/lvm")
                                          "lvchange" "-an" "-y" (string-join (string-split file #\-) "/"))))
           '#$targets)
      #t))

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

(define %localmachine-mapped-device-guix-root       (mapped-device (source "/dev/DUMMY")
                                                                   (target "guix-root")
                                                                   (type   non-udev-lvm-device-mapping)))

(define %localmachine-mapped-device-guix-boot       (mapped-device (source "/dev/DUMMY")
                                                                   (target "guix-boot")
                                                                   (type   non-udev-lvm-device-mapping)))

(define %localmachine-mapped-device-guix-gnu        (mapped-device (source "/dev/DUMMY")
                                                                   (target "guix-gnu")
                                                                   (type   non-udev-lvm-device-mapping)))

(define %localmachine-mapped-device-guix-swap       (mapped-device (source "/dev/DUMMY")
                                                                   (target "guix-swap")
                                                                   (type   non-udev-lvm-device-mapping)))

(define %localmachine-mapped-device-guix-tmp        (mapped-device (source "/dev/DUMMY")
                                                                   (target "guix-tmp")
                                                                   (type   non-udev-lvm-device-mapping)))

(define %localmachine-mapped-device-guix-var        (mapped-device (source "/dev/DUMMY")
                                                                   (target "guix-var")
                                                                   (type   non-udev-lvm-device-mapping)))

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

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

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

(define %localmachine-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        %localmachine-mapped-devices)))

;; (define %localmachine-file-system-guix-swap       (file-system (mount-point         "/xyz")
;;                                                         (device              (string-append "/dev/mapper/guix-swap"))
;;                                                         (type                "ext4")
;;                                                         (check?              #f)
;;                                                         (mount?              #f)
;;                                                         (create-mount-point? #f)
;;                                                         (needed-for-boot?    #t)
;;                                                         (dependencies        %localmachine-mapped-devices)))

(define %localmachine-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 %localmachine-file-system-guix-root)
                                                                                            %localmachine-mapped-devices))))

(define %localmachine-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 %localmachine-file-system-guix-root)
                                                                                            %localmachine-mapped-devices))))

(define %localmachine-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 %localmachine-file-system-guix-root)
                                                                                            %localmachine-mapped-devices))))

(define %localmachine-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 %localmachine-file-system-guix-root)
                                                                                            %localmachine-mapped-devices))))

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

(define %localmachine-file-system-boot-efi        (file-system (mount-point         "/boot/efi")
                                                               (device              "/dev/sda1")
                                                               (mount?              #t)
                                                               (create-mount-point? #t)
                                                               (needed-for-boot?    #t)
                                                               (type                "vfat")
                                                               (dependencies        (append (list %localmachine-file-system-guix-boot
                                                                                                  %localmachine-file-system-guix-root)
                                                                                            %localmachine-mapped-devices))))
\f

(define %localmachine-lvm-mount-home-file-systems         (list %localmachine-file-system-house-home))
\f

(define %localmachine-mount-lvm-system-file-systems       (list %localmachine-file-system-guix-root
                                                                ;; %localmachine-file-system-guix-swap
                                                                %localmachine-file-system-guix-boot
                                                                %localmachine-file-system-guix-gnu
                                                                %localmachine-file-system-guix-tmp
                                                                %localmachine-file-system-guix-var))
\f
(define %localmachine-lvm-system-file-systems             (append %localmachine-mount-lvm-system-file-systems
                                                                  %localmachine-lvm-mount-home-file-systems))
\f

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

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



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

;; packages
(use-modules (gnu packages glib))

(define %localmachine-other-packages (list "polkit"
                                           "polkit-gnome"
                                           "autorandr"
                                           "xmodmap"
                                           "hplip"
                                           "simple-scan"
                                           "xsane"
                                           "sane-backends"
                                           "sane-backends-minimal"
                                           "glib-networking"
                                           "xf86-input-evdev"))

(define %localmachine-system-selected-package-names (list "glibc-utf8-locales"
                                                          "gdm"
                                                          "gpm"
                                                          "slock" ; need suid
                                                          "zsh"
                                                          "stumpwm"
                                                          "sbcl-stumpwm-cpu" "sbcl-stumpwm-mem" "sbcl-stumpwm-numpad-layouts" "sbcl-stumpwm-screenshot" "sbcl-stumpwm-winner-mode"
                                                          "guile-wm"
                                                          "windowmaker"
                                                          ;; "findutils"
                                                          "idutils"
						                                              "dovecot"
                                                          "xinput"
                                                          "ibus"
                                                          "m17n-lib"
                                                          "m17n-db"
                                                          ;; "twm"
                                                          ;; "herbstluftwm"
                                                          "ecryptfs-utils"))
\f

(define %localmachine-package-names-for-installation
  (append %localmachine-other-packages
          %localmachine-system-selected-package-names))

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

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

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

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

(define %localmachine-packages %localmachine-reinit-packages)
\f

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

(define %localmachine-grub-ubuntu-menuentries %local-grub-ubuntu-menuentries)

(define %localmachine-efi-bootloader
  (bootloader-configuration (bootloader      grub-efi-bootloader)
                            (target          "/boot/efi")
                            (keyboard-layout %localmachine-keyboard-layout)
                            (menu-entries    %localmachine-grub-ubuntu-menuentries)))
\f

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

(define %localmachine-simple-groups (list (user-group (name %localmachine-account-group-name)
                                                      (id   %localmachine-account-group-gid))))

(define %localmachine-groups        (append %localmachine-simple-groups
                                            %base-groups))
\f

(define %localmachine-simple-users  (list (user-account (uid                    %localmachine-account-uid)
                                                        (name                   %localmachine-account-user-name)
                                                        (comment                %localmachine-account-comment)
                                                        (group                  %localmachine-account-group-name)
                                                        (supplementary-groups   %localmachine-account-supplementry-groups)
                                                        (create-home-directory? %localmachine-account-create-home-directory))))

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

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

(define %localmachine-firmware %base-firmware)
\f

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

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

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

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

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

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

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

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

(define %localmachine-kernel linux-libre)
\f

(operating-system
 (kernel              %localmachine-kernel)
 (kernel-arguments    '(" modprobe.blacklist=usbmouse,usbkbd --verbose nosplash debug"))
 (firmware            %localmachine-firmware)
 (initrd              %localmachine-initrd)
 (locale              %localmachine-locale)
 (locale-definitions  %localmachine-locale-definitions)
 (timezone            %localmachine-timezone)
 (keyboard-layout     %localmachine-keyboard-layout)
 (host-name           %localmachine-host-name)
 (setuid-programs     %localmachine-setuid-programs)
 (mapped-devices      %localmachine-mapped-devices)
 (users               %localmachine-users)
 (groups              %localmachine-groups)
 (file-systems        %localmachine-file-systems)
 (swap-devices        %localmachine-swap-devices)
 (bootloader          %localmachine-bootloader)
 (packages            %localmachine-packages)
 (services            %localmachine-services)
 ;; Allow resolution of '.local' host names with mDNS.
 (name-service-switch %mdns-host-lookup-nss))
\f

  reply	other threads:[~2021-02-26 20:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-16 10:11 bug#46555: LVM swap continuously fails guix system: error: service 'swap-/dev/mapper/guix-swap' requires 'device-mapping-guix-swap', which is not provided by any service Shyam Saran
2021-02-22  9:19 ` Ludovic Courtès
2021-02-23 15:23   ` Shyam Saran
2021-02-25 13:19     ` Ludovic Courtès
2021-02-26  8:08       ` Shyam Saran [this message]
2021-03-01  9:26         ` Ludovic Courtès
2021-03-02 10:34           ` Shyam Saran
2021-03-02 10:42             ` Shyam Saran
2021-03-02 16:12               ` Shyam Saran
2021-03-04  7:22                 ` Shyam Saran
2021-03-08 13:28                   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABVJY8oZz2RixEx0SOgtWWOD+m0yo5sjrdpnK8pDEcLx-+coxA@mail.gmail.com \
    --to=syamsaran12345@gmail.com \
    --cc=46555@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).