linux-libre 4.18.9: shpchp is no longer a module (now: built-in)

  • Done
  • quality assurance status badge
Details
5 participants
  • Nils Gillmann
  • Ludovic Courtès
  • Mark H Weaver
  • Nils Gillmann
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Nils Gillmann
Severity
normal
N
N
Nils Gillmann wrote on 25 Sep 2018 21:57
(address . bug-guix@gnu.org)
20180925195720.nelxr55dy7ntupma@abyayala
Hi,

at taler we need shpchp as a module in the initrd.

Before version 4.18.x, shpchp was a module we've build in guix' linux-libre,
you were able to just specify it for the initrd.

With 4.18.9, this module became a compile-in/built-in (see linux
commit log). I want to avoid maintaining yet another kernel
definition for future complications if I can. Can we get this module
built in by default?

I consider it a bug as the functionality was given before and
disappeared now, leaving our system unable to upgrade unless I write
some code around it.

Thanks.
M
M
Mark H Weaver wrote on 26 Sep 2018 01:36
(name . Nils Gillmann)(address . gillmann@n0.is)(address . 32840@debbugs.gnu.org)
87k1n9cfpp.fsf@netris.org
Hi Nils,

Nils Gillmann <gillmann@n0.is> writes:

Toggle quote (10 lines)
> at taler we need shpchp as a module in the initrd.
>
> Before version 4.18.x, shpchp was a module we've build in guix' linux-libre,
> you were able to just specify it for the initrd.
>
> With 4.18.9, this module became a compile-in/built-in (see linux
> commit log). I want to avoid maintaining yet another kernel
> definition for future complications if I can. Can we get this module
> built in by default?

Sure, that sounds sensible. I'll push a config update soon.

Thanks,
Mark
M
M
Mark H Weaver wrote on 26 Sep 2018 05:24
(name . Nils Gillmann)(address . gillmann@n0.is)(address . 32840-done@debbugs.gnu.org)
87lg7pgcva.fsf@netris.org
Nils Gillmann <gillmann@n0.is> writes:

Toggle quote (10 lines)
> at taler we need shpchp as a module in the initrd.
>
> Before version 4.18.x, shpchp was a module we've build in guix' linux-libre,
> you were able to just specify it for the initrd.
>
> With 4.18.9, this module became a compile-in/built-in (see linux
> commit log). I want to avoid maintaining yet another kernel
> definition for future complications if I can. Can we get this module
> built in by default?

Done in commit fe73352e8073ea0a0e6f6b5591f24395671998ab on master.
Closing this bug now, but please reopen if appropriate.

Thanks!
Mark
Closed
R
R
Ricardo Wurmus wrote on 26 Sep 2018 08:21
(name . Mark H Weaver)(address . mhw@netris.org)
87tvmc6ap2.fsf@elephly.net
Mark H Weaver <mhw@netris.org> writes:

Toggle quote (15 lines)
> Nils Gillmann <gillmann@n0.is> writes:
>
>> at taler we need shpchp as a module in the initrd.
>>
>> Before version 4.18.x, shpchp was a module we've build in guix' linux-libre,
>> you were able to just specify it for the initrd.
>>
>> With 4.18.9, this module became a compile-in/built-in (see linux
>> commit log). I want to avoid maintaining yet another kernel
>> definition for future complications if I can. Can we get this module
>> built in by default?
>
> Done in commit fe73352e8073ea0a0e6f6b5591f24395671998ab on master.
> Closing this bug now, but please reopen if appropriate.

I don’t understand why building it as a module is needed when upstream
decided to turn it into a built-in feature.

Could you please explain?

--
Ricardo
Closed
N
N
Nils Gillmann wrote on 26 Sep 2018 18:27
(name . Ricardo Wurmus)(address . rekado@elephly.net)
20180926162719.ab6vx3divs4upheu@abyayala
Ricardo Wurmus transcribed 808 bytes:
Toggle quote (18 lines)
>
> Mark H Weaver <mhw@netris.org> writes:
>
> > Nils Gillmann <gillmann@n0.is> writes:
> >
> >> at taler we need shpchp as a module in the initrd.
> >>
> >> Before version 4.18.x, shpchp was a module we've build in guix' linux-libre,
> >> you were able to just specify it for the initrd.
> >>
> >> With 4.18.9, this module became a compile-in/built-in (see linux
> >> commit log). I want to avoid maintaining yet another kernel
> >> definition for future complications if I can. Can we get this module
> >> built in by default?
> >
> > Done in commit fe73352e8073ea0a0e6f6b5591f24395671998ab on master.
> > Closing this bug now, but please reopen if appropriate.

Thanks! I'll get back if this didn't fix upgrading the server.

Toggle quote (5 lines)
> I don’t understand why building it as a module is needed when upstream
> decided to turn it into a built-in feature.
>
> Could you please explain?

There are modules [M] and boolean y/n "builtins" in Linux. We don't need
to build it as a module now, since upstream changed it to be a builtin.
It is not covered by whatever selection we have in the kernel config as
builtins. Since the module disappeared, users of the module were left
with the choice to remove it and either build their own kernel variation
or ask for it as a feature.

I asked for it, since Taler wanted as little reliance on third-party
repositories as possible, no matter how reliable the repositories are.

Toggle quote (6 lines)
> --
> Ricardo
>
>
>
>
L
L
Ludovic Courtès wrote on 18 Oct 2018 00:59
(name . Mark H Weaver)(address . mhw@netris.org)
87y3aw9o3q.fsf@gnu.org
Hi Mark,

Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (14 lines)
> Nils Gillmann <gillmann@n0.is> writes:
>
>> at taler we need shpchp as a module in the initrd.
>>
>> Before version 4.18.x, shpchp was a module we've build in guix' linux-libre,
>> you were able to just specify it for the initrd.
>>
>> With 4.18.9, this module became a compile-in/built-in (see linux
>> commit log). I want to avoid maintaining yet another kernel
>> definition for future complications if I can. Can we get this module
>> built in by default?
>
> Sure, that sounds sensible. I'll push a config update soon.

I’ve reopened the bug because I think we need the same change as in
fe73352e8073ea0a0e6f6b5591f24395671998ab for AArch64 (at least it
appears to be needed on the OverDrive 1000.)

Could you take a look?

(I’m not entirely sure about the workflow to get the updated config from
“make oldconfig”…)

Thanks,
Ludo’.
M
M
Mark H Weaver wrote on 18 Oct 2018 02:24
(name . Ludovic Courtès)(address . ludo@gnu.org)
877eig14q4.fsf@netris.org
Hi Ludovic,

ludo@gnu.org (Ludovic Courtès) writes:

Toggle quote (22 lines)
> Mark H Weaver <mhw@netris.org> skribis:
>
>> Nils Gillmann <gillmann@n0.is> writes:
>>
>>> at taler we need shpchp as a module in the initrd.
>>>
>>> Before version 4.18.x, shpchp was a module we've build in guix' linux-libre,
>>> you were able to just specify it for the initrd.
>>>
>>> With 4.18.9, this module became a compile-in/built-in (see linux
>>> commit log). I want to avoid maintaining yet another kernel
>>> definition for future complications if I can. Can we get this module
>>> built in by default?
>>
>> Sure, that sounds sensible. I'll push a config update soon.
>
> I’ve reopened the bug because I think we need the same change as in
> fe73352e8073ea0a0e6f6b5591f24395671998ab for AArch64 (at least it
> appears to be needed on the OverDrive 1000.)
>
> Could you take a look?

Sure. I've attached a proposed patch below. Would you like to try it
and push it to master if it works?

Toggle quote (3 lines)
> (I’m not entirely sure about the workflow to get the updated config from
> “make oldconfig”…)

FYI, my current method is:

* Unpack the latest linux-libre source.
* Copy the existing kernel configuration to .config in the source dir.
* Manually edit .config with desired configuration change.
* Within "guix environment linux-libre" run:

ARCH=arm64 make oldconfig

More generally, ARCH should be set to the value returned by
'system->linux-architecture' in (gnu packages linux).
* Manually edit out some changes that are clearly irrelevant,
such the addition of a top comment saying which compiler I have in my
PATH.

Some day, I would prefer to have multiple smaller configuration files,
with a shared common configuration plus smaller architecture-specific
files, but we're not there yet.

Thanks,
Mark
From 41fdb333b05e300622c4c41aaced70fff2c6df7f Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Wed, 17 Oct 2018 20:09:19 -0400
Subject: [PATCH] gnu: linux-libre: Enable SHPC PCI Hotplug driver on ARM64.


* gnu/packages/aux-files/linux-libre/4.18-arm64.conf: Add
CONFIG_HOTPLUG_PCI_SHPC=y.
---
gnu/packages/aux-files/linux-libre/4.18-arm64.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/aux-files/linux-libre/4.18-arm64.conf b/gnu/packages/aux-files/linux-libre/4.18-arm64.conf
index ab30f51d2..64b14b52c 100644
--- a/gnu/packages/aux-files/linux-libre/4.18-arm64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.18-arm64.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm64 4.18.0-gnu Kernel Configuration
+# Linux/arm64 4.18.14-gnu Kernel Configuration
#
CONFIG_ARM64=y
CONFIG_64BIT=y
@@ -481,7 +481,7 @@ CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_CPCI=y
-# CONFIG_HOTPLUG_PCI_SHPC is not set
+CONFIG_HOTPLUG_PCI_SHPC=y
#
# PCI controller drivers
--
2.19.1
L
L
Ludovic Courtès wrote on 19 Oct 2018 00:16
(name . Mark H Weaver)(address . mhw@netris.org)
875zxyaoix.fsf@gnu.org
Hi Mark,

Mark H Weaver <mhw@netris.org> skribis:

Toggle quote (2 lines)
> ludo@gnu.org (Ludovic Courtès) writes:

[...]

Toggle quote (9 lines)
>> I’ve reopened the bug because I think we need the same change as in
>> fe73352e8073ea0a0e6f6b5591f24395671998ab for AArch64 (at least it
>> appears to be needed on the OverDrive 1000.)
>>
>> Could you take a look?
>
> Sure. I've attached a proposed patch below. Would you like to try it
> and push it to master if it works?

It does fix the problem for me so I’ve pushed it as
402e60859da609e95d16a04a253977da88f4077e.

Toggle quote (18 lines)
>> (I’m not entirely sure about the workflow to get the updated config from
>> “make oldconfig”…)
>
> FYI, my current method is:
>
> * Unpack the latest linux-libre source.
> * Copy the existing kernel configuration to .config in the source dir.
> * Manually edit .config with desired configuration change.
> * Within "guix environment linux-libre" run:
>
> ARCH=arm64 make oldconfig
>
> More generally, ARCH should be set to the value returned by
> 'system->linux-architecture' in (gnu packages linux).
> * Manually edit out some changes that are clearly irrelevant,
> such the addition of a top comment saying which compiler I have in my
> PATH.

OK, thanks for explaining!

Toggle quote (4 lines)
> Some day, I would prefer to have multiple smaller configuration files,
> with a shared common configuration plus smaller architecture-specific
> files, but we're not there yet.

Yeah…

Anyway I’m happy to say I have GuixSD running on the OverDrive 1000!
There were a few more shenanigans (the openSuSE kernel had a few things
set to “y” that we’re setting to “m”), but then it went smoothly.

Thanks!

Ludo’.
L
L
Ludovic Courtès wrote on 11 Nov 2018 18:33
control message for bug #32840
(address . control@debbugs.gnu.org)
87sh07plhf.fsf@gnu.org
tags 32840 fixed
close 32840
?