From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:52779) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iUYuh-00081F-4r for guix-patches@gnu.org; Tue, 12 Nov 2019 11:21:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iUYud-0003Xj-C4 for guix-patches@gnu.org; Tue, 12 Nov 2019 11:21:06 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:49452) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iUYuc-0003Wt-Ah for guix-patches@gnu.org; Tue, 12 Nov 2019 11:21:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iUYuc-0003fU-5D for guix-patches@gnu.org; Tue, 12 Nov 2019 11:21:02 -0500 Subject: [bug#37868] [PATCH] guix: Allow multiple packages to provide Linux modules in the system profile. Resent-Message-ID: Date: Tue, 12 Nov 2019 17:20:48 +0100 From: Danny Milosavljevic Message-ID: <20191112172048.61ba69eb@scratchpost.org> In-Reply-To: <20191022152238.12856-1-dannym@scratchpost.org> References: <20191022152238.12856-1-dannym@scratchpost.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/qu1DN1Qhm2k5.PJPpewGUAc"; protocol="application/pgp-signature"; micalg=pgp-sha256 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 37868@debbugs.gnu.org Cc: Mark H Weaver , ludo@gnu.org --Sig_/qu1DN1Qhm2k5.PJPpewGUAc Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi, any comments about this patch? I don't want to just push this to guix master without any discussion since = it establishes an interface that has to keep working for a long time. Rationale of the patch: * Make Linux more modular, allowing the user to specify a union of Guix pac= kages to use as "the kernel" (especially kernel modules). Summary of the patch: * Add a profile hook "linux-module-database" which creates the union of all system packages that have a subdirectory "lib/modules" in their derivation, then invokes depmod on that union and then provides the result in the system profile. * Adapt modprobe to check "lib/modules" inside the system profile, if avail= able. Fall back to "/run/booted-system/kernel/lib/modules" otherwise. For the case where a person has just reconfigured Guix but doesn't want to = reboot, modprobe will still work, taking the modules of the old generation (which d= oesn't necessarily have Linux kernel modules inside the profile yet--because it do= esn't necessarily have this patch yet. But maybe it does). * Adapt operating-system-profile to automatically add the Kernel's modules = to the system profile (since the system profile would be the only place search= ed, not doing so would be very bad). * Adapt linux-build-system not to invoke depmod again. Also, its worldview would be incomplete anyway because it wouldn't have the entire system profi= le. Open questions: * Why doesn't operating-system-profile successfully add linux-libre ? It should. I don't think Guix ever gets there in the first place. (adding linux-libre to operating-system's "packages" field manually does work) * Do we want to have this stuff in the system profile or do we want to have a "kernel profile" instead or something? I don't think the latter would he= lp us much, but if we want it, better do it now. * Do we want to be able to add kernel modules in this fashion without requi= ring a reboot? If so, that would make the situation a lot more complicated and I don't see a safe way to do that. --Sig_/qu1DN1Qhm2k5.PJPpewGUAc Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl3K2+AACgkQ5xo1VCww uqUm7QgAifa//EJFZvzHDhsRmwBHcxu57lTXixAKCKE/AwOUqBLKzwcuhcw7FzMS +lYtMBncVhAzRQxI+9nINYocY0i2UQVD5UrcQa7DoDvfH897Sfn1IZgq0pJJhzVk EfGD8iUg9MYez4OucIJCj+iRIKLDuA0Gdr9+ZXtIGY/dCSQEyVpFpi6MtfEhlh6J HJSqjdr3pmxJb79UTchOYUXQbYO+mV/BQGARriSbIUholojir/PhBg85VvQ4UVAx SU04apwOIqMeqpuwbwuklNGP/a/YjxXeuf6LPqsyNyUSSOciVaVreZADrlZI741Z wJg12spSgSWb7naC7IP8F5cnV4F/dw== =qwvK -----END PGP SIGNATURE----- --Sig_/qu1DN1Qhm2k5.PJPpewGUAc--