On Thu, 22 Feb 2018 22:17:07 +0100
Andreas Enge <andr...@enge.fr> 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")
> 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").
> 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
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.