From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38555) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eqn9N-0004er-Co for guix-patches@gnu.org; Tue, 27 Feb 2018 16:51:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eqn9K-00026M-C9 for guix-patches@gnu.org; Tue, 27 Feb 2018 16:51:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:56395) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eqn9K-00026E-86 for guix-patches@gnu.org; Tue, 27 Feb 2018 16:51:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eqn9K-0001WD-1W for guix-patches@gnu.org; Tue, 27 Feb 2018 16:51:02 -0500 Subject: [bug#30629] [PATCH 0/5] Detect missing modules in the initrd Resent-Message-ID: Date: Tue, 27 Feb 2018 23:50:27 +0100 From: Danny Milosavljevic Message-ID: <20180227235027.00bc79b1@scratchpost.org> In-Reply-To: <87tvu2w2vg.fsf@gnu.org> References: <20180227141720.12513-1-ludo@gnu.org> <20180227222632.42bcf52c@scratchpost.org> <87tvu2w2vg.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 30629@debbugs.gnu.org Hi Ludo, > > I'm not sure about the module resolution order, first use the aliases o= r first > > use the real module files? =20 >=20 > In what part? modprobe. It can either get "pci:024215325233" or "ahci". The first is an= alias and the latter eventually resolves to a file "ahci.ko". > I=E2=80=99d rather change that to =E2=80=98modprobe-program=E2=80=99 and = have it return: >=20 > (program-file "modprobe" (with-import-modules =E2=80=A6 #~(begin =E2=80= =A6))) Sure. > I think we can=E2=80=99t use =E2=80=98uname=E2=80=99 here because that re= turns info about the > build host, not about the machine and kernel we=E2=80=99re deploying. Yeah, oops. I tried to avoid having it in the first place, but kmod (depmod) insists. Sigh... I'll add a hack... > > + (path (string-append linux-release-module-directory n= ame))) =20 >=20 > s/path/directory/ :-) It's the full path to the module file (a regular file). "name" was taken :) It's rewrite it so it says file-name... > > + (match (delete-duplicates (matching-modules module ^^^^^^^^^^^^^^^^^ :) > Should it be an error when MODULE could not be found? Yes, I will properly implement the modprobe "-q" option. (What Linux does is call this thing with "-q" which means modprobe shouldn't print anything) After that, we can reinstate error printing. Right now it's a little disconcerting if it prints the errors - I tried it = :) > Also, indentation should be like: >=20 > (for-each (lambda (option) > =E2=80=A6 > (for-each (lambda (module) > =E2=80=A6))) > =E2=80=A6) Sure. > > (define* (base-initrd file-systems > > #:key > > (linux linux-libre) > > + (linux-modules '()) > > (kmod kmod-minimal/static) > > (mapped-devices '()) > > qemu-networking? =20 >=20 > We no longer need #:kmod here. Yes, we do. It doesn't end up in the finished initrd file directly,=20 but flat-linux-module-directory uses it (now) in order to invoke depmod - otherwise we don't have modules.alias etc. Also, when I replace kmod-minimal/static by kmod I get a massive number of test failures. What I'm trying to say, in this case I think having an intermediate step kmod-minimal/static is the least of the evils...