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 16:12:19 +0530

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