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

From: Shyam Saran <[email-masked]>
Date: Tue, 2 Mar 2021 21:42:09 +0530

Hi

after reconfigure

building
/gnu/store/qnskr1r67lp92bgy136hqvm7r96s3qrd-upgrade-shepherd-services.scm.drv...
guix system: warning: exception caught while executing 'start' on service
'swap-/dev/mapper/guix-swap':
In procedure swapon: "/dev/mapper/guix-swap": Invalid argument
guix system: warning: some services could not be upgraded
hint: To allow changes to all the system services to take effect, you will
need to reboot.

after 2 reboots also

$ cat /proc/swaps

   27s
Filename Type Size Used Priority
$ swapon -s
$ sudo swapon -s
$ swapon --all --verbose
$ sudo swapon --all --verbose
$

I do not see swap is getting enabled.

Thanks

On Tue, 2 Mar 2021 at 16:12, Shyam Saran <[email-masked]> wrote:

> 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 <[email-masked]> 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 <[email-masked]> wrote:
>>
>>> Hi Shyam,
>>>
>>> Shyam Saran <[email-masked]> 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’.
>>>
>>