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: Thu, 4 Mar 2021 12:52:33 +0530

Sorry again, it is excellently working

In boot I had noticed

enabling swap DEVICE
swap signature is missing on DEVICE

than understood I had not marked it as swap

$ cat /proc/swaps; sudo swapon --all --verbose ; sudo swapon -s ; free -h
Filename Type Size Used Priority
/dev/mapper/guix-swap            partition 1048572 0 -2
Filename Type Size Used Priority
/dev/mapper/guix-swap           partition 1048572 0 -2
             total        used        free      shared  buff/cache
available
Mem:           31Gi       1.6Gi        28Gi       1.0Mi       1.6Gi
 29Gi
Swap:         1.0Gi          0B       1.0Gi

Thanks very much for great help and GNU, Guix, and all the stuff.

Thanks again

Shyam

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

> 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’.
>>>>
>>>