Subject: bug#32524: guix system build bare-bones.scm fails with ahci shpchp

From: [email-masked] (Ludovic Courtès)
Date: Wed, 29 Aug 2018 23:13:37 +0200

Hi,

Timothy Sample <[email-masked]> skribis:

> Eric Brown <[email-masked]> writes:
>
>> I am attempting to guix system reconfigure a GuixSD 0.15 (updated)
>> Macintosh laptop where reconfigure recommends and requires:
>>
>>   (initrd-modules (append (list "ahci" "shpchp")
>>                           %base-initrd-modules))
>>
>> However, the config file that I used at guix system init works
>> originally with this additional bit of lisp, but a reconfigure gives the
>> error below.
>>
>> In an attempt to narrow down, inserting this into bare-bones.scm gives a
>> similar error. Thanks to samplet for help and confirmation on #guixsd.
>
> Just to make things clear, the bare-bones config below works with
> Linux-Libre 4.17, but not with 4.18.  We no longer build the ”shpchp”
> module.  See commit 3004f1c69b258837b0e49a567787c97479ce6e71, which
> includes the following:
>
>     -CONFIG_HOTPLUG_PCI_SHPC=m
>     +# CONFIG_HOTPLUG_PCI_SHPC is not set
>
> I don’t know anything about this module or this change, so I don’t know
> if we should change the config file or not.  I will leave that to
> someone more knowledgeable.

I don’t know the rationale of this change, but I understand the problem:
it’s design issue with the module recommendation mechanism.  Basically
it looks at modules needed on the current kernel for, say,  your root
file system, and then it recommends adding those.

The problem occurs when you’re running on 4.17 and reconfiguring towards
4.18: on your system ‘shpchp’ is necessary, so ‘guix system’ recommends
it, but on the target system it’s not.  In that case ‘--skip-checks’ is
needed.

What we could do is determine that ‘shpchp.ko’ is not provided by the
target kernel, though that doesn’t tell us whether it’s needed.  Doing
that also has the disadvantage that we must build/download the target
kernel before we can emit the warning, as has been discussed before.

Thoughts?

Ludo’.