[Bug 1206943] New: mkinitrd with self-build nonmodular kernel, building initrd for kernel-default kernel, fails to include mdraid modules
https://bugzilla.suse.com/show_bug.cgi?id=1206943 Bug ID: 1206943 Summary: mkinitrd with self-build nonmodular kernel, building initrd for kernel-default kernel, fails to include mdraid modules Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-bugs@opensuse.org Reporter: patrick.schaaf@yalwa.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- I'm happy to see this report closed right away as exotic, but thought I'd report anyway... I'm used to run tumbleweed, for quite a few years and very happily, on production machines (host + kvm virtual machines), using my own, almost-nomodular kernel builds. On the host side, that includes initrds, built the normal way with mkinitrd + dracut and no customization needed. Good. Now I ran into an issue when, for a different reported issue, I got asked to try + reproduce with actual tumbleweed kernel-default. So I installed that, mkinitrd ran normally - and it failed to boot properly. The system (host) where that happened, uses RAID1 (md raid) disks (and LVM on top) for boot + root. What I found is that mkinitrd, apparently because the currently running kernel (my own) has MD drivers built in (not loaded as modules), fails to include the drivers/md modules into the initrd. If I change "instmods '=drivers/md'" to "hostonly='' instmods '=drivers/md'", in 90mdraid/module-setup.sh, I get it to include the modules + get a working boot. If I revert that change + rebuild the initrd again while the suse kernel-default is running (with raid1.ko in lsmod), again I get a working initrd with the modules included. Hope this report helps someone who may stumble across the same issue, even if no change results from it. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1206943 https://bugzilla.suse.com/show_bug.cgi?id=1206943#c1 Antonio Feijoo <antonio.feijoo@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |antonio.feijoo@suse.com Resolution|--- |INVALID Assignee|kernel-bugs@opensuse.org |dracut-maintainers@suse.de --- Comment #1 from Antonio Feijoo <antonio.feijoo@suse.com> --- First, I would recommend you to always use dracut and avoid mkinitrd, as it's just an incomplete compatibility wrapper that internally calls dracut. It's deprecated and will be removed very soon. Next, about your issue. SUSE by default builds hostonly initrds (/usr/lib/dracut/dracut.conf.d/01-dist.conf), adding to the them just what is necessary to boot the running system. As you pointed out, the mdraid module (like most of the dracut modules) only installs kernel modules in use when the initrd is built in hostonly mode. So, you have two options in your case: - Add all the raid kernel modules by hand, using `add_drivers+=" =drivers/md "` in a configuration file or the `--add-drivers " =drivers/md "` command line option. - Build a non-hostonly initrd (`hostonly=no` in conf or `-N` option). -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com