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: Tue, 2 Mar 2021 16:12:19 +0530 [thread overview]
Message-ID: <CABVJY8ocGbujVzWO9u2i47QpKzjTzMyNQ7ojFtf9mFz03OMEYw@mail.gmail.com> (raw)
In-Reply-To: <CABVJY8r+L49O4gi3Z1Onf5UOHmuOZhWHFVsM-puwxeJsV0adxg@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 2416 bytes --]
Sorry
I had forgot to remove
dependency from /boot/efi
So it was causing this error
attached the file, reconfiguring the whole system
hoping it must work
Thanks very much for all the help :)
On Tue, 2 Mar 2021 at 16:04, Shyam Saran <syamsaran12345@gmail.com> wrote:
> As mentioned I had removed all dependency for root "/" fs
>
> but result is same
>
> $ guix system build ~/tmp/config.scm
> 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
>
> Then again removed all dependencies from all fs /var /gnu /tmp etc
> But the result is the same.
>
> $ guix system build ~/tmp/config.scm
> 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
>
>
> Thanks
>
>
> On Mon, 1 Mar 2021 at 14:56, Ludovic Courtès <ludo@gnu.org> wrote:
>
>> Hi Shyam,
>>
>> Shyam Saran <syamsaran12345@gmail.com> skribis:
>>
>> > 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
>>
>> The problem here is that you had:
>>
>> (file-system
>> (mount-point "/")
>> ;; …
>> (needed-for-boot? #t)
>> (dependencies %localmachine-mapped-devices))
>>
>> All the needed-for-boot file systems had all the mapped devices in
>> ‘dependencies’. Thus, no ‘device-mapping-guix-swap’ Shepherd service
>> was created, because that device mapping was needed at boot.
>>
>> The solution is to remove the ‘dependencies’ field for all your file
>> systems. Since they have /dev/mapper/… as their ’device’, you don’t
>> need ‘dependencies’: it’s automatically inferred. If, after this
>> change, you run:
>>
>> guix system shepherd-graph /tmp/config.scm| xdot -
>>
>> you can see that the ‘swap-/dev/mapper/guix-swap’ service depends on
>> ‘device-mapping-guix-swap’.
>>
>> HTH!
>>
>> Ludo’.
>>
>
[-- Attachment #1.2: Type: text/html, Size: 3544 bytes --]
[-- Attachment #2: config.scm --]
[-- Type: text/x-scheme, Size: 24180 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
next prev parent reply other threads:[~2021-03-02 10:43 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
2021-03-01 9:26 ` Ludovic Courtès
2021-03-02 10:34 ` Shyam Saran
2021-03-02 10:42 ` Shyam Saran [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CABVJY8ocGbujVzWO9u2i47QpKzjTzMyNQ7ojFtf9mFz03OMEYw@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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.