From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: Re: Kernel modules in initrd Date: Thu, 22 Feb 2018 22:34:03 +0100 Message-ID: <20180222223403.1c3773a5@scratchpost.org> References: <20180222211707.GB9758@jurong> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34152) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eoyVL-00053S-Pw for guix-devel@gnu.org; Thu, 22 Feb 2018 16:34:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eoyVG-0001PG-TL for guix-devel@gnu.org; Thu, 22 Feb 2018 16:34:15 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:41584) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eoyVG-0001MU-LD for guix-devel@gnu.org; Thu, 22 Feb 2018 16:34:10 -0500 In-Reply-To: <20180222211707.GB9758@jurong> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Andreas Enge Cc: guix-devel@gnu.org Hi Andreas, On Thu, 22 Feb 2018 22:17:07 +0100 Andreas Enge wrote: > The problem turned out to be that the disk of the machine needed special > kernel modules, and adding > (initrd (lambda (file-systems . rest) > (apply base-initrd file-systems > #:extra-modules '("mptbase" "mptsas" "mptscsih") > rest))) > to the operating-system declaration solved the problem. > So I wonder: > 1) Could we add more kernel modules to the base-initrd, whenever people > report that new ones are needed? For instance, the berlin server has > modules (list "megaraid_sas" "libsas" "scsi_transport_sas"). Sure. > 2) Better yet, since we managed to boot on the USB key and see the disk: > Why not have the same modules in the initrd of the installation image > and of the installed default system? I don't think that that is what happened. The initrd is a very early root filesystem which is supposed to contain enough stuff (programs and data) to be able to mount the actual root filesystem. When you booted from the USB key the system DIDN'T need mptsas to find ITS root filesystem. So it booted fine and in the end of it all you had a working GNU Linux, with udev. Then udev saw the hard disk and udev went and loaded the kernel module (from the root filesystem, not from the initrd), as it was supposed to do. It's unfortunate that the initrd is needed, but let's just add all maybe-required kernel modules to it.