I build a new custom kernel (3.17.5) in openSuse 13.2 .
Unfortunately after I try to boot in the new kernel,
an error message appears an the boot progress stops/hangs.
Here the error message:
[FAILED] Failed to start Load Kernel Modules
See “systemctl status systemd-modules-load.service” for details.
I configured the kernel with the command “zcat /proc/config.gz > .config” .
Than I compiled the kernel with the command “make dep clean bzImage modules modules_install” .
After compiling I did “mkinitrd -k vmlinux-3.17.5 -i initrd-3.17.5” in /boot .
In all older openSuse version it works but now in the new version ist doesn`t work.
I cant boot to kernel 3.17.5, the boot process stops. So I cant execute the command
“systemctl status systemd-modules-load.service” in the new kernel. It works only in
the out of the box kernel from openSuse “3.16.6-2-desktop” .
suse-test:~ # uname -a
Linux suse-test 3.16.6-2-desktop #1 SMP PREEMPT Mon Oct 20 13:47:22 UTC 2014 (feb42ea) x86_64 x86_64 x86_64 GNU/Linux
suse-test:~ # systemctl status systemd-modules-load.service
systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
Active: active (exited) since Sun 2014-12-14 17:55:28 CET; 24min ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 718 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
Main PID: 718 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/systemd-modules-load.service
This is a (openSUSE specific) script included in dracut, that calls dracut with the correct parameters according to the settings in /etc/sysconfig/kernel.
> I configured the kernel with the command “zcat /proc/config.gz >
> .config” .
> Than I compiled the kernel with the command “make dep clean bzImage
> modules modules_install” .
> After compiling I did “mkinitrd -k vmlinux-3.17.5 -i initrd-3.17.5” in
> /boot .
> In all older openSuse version it works but now in the new version ist
> doesn`t work.
Here is the way of mine which results in a working kernel (and i suggest
to take 3.17.6 or 3.17.7). I use only the sources from kernel.org and
the BFQ scheduler patches.
make mrproper
patch WhatYoutWantToHave.patch(es)
make distclean
zcat /proc/config.gz > .config
Comment: For the first step to a new kernel release i even download the
kernel source from the suse kernel repo to take a look at the
kernel-desktop config file during the first “make oldconfig”. You can
use this newer kernel config as “.config” too.
Attention: In the first step to another kernel than the one from suse i
deactivate a lot of CONFIG_DEBUG* to get a “normal” size for the
kernel and the modules. I think this is because suse split the
debug-files in another package.
make oldconfig 2>&1 | tee …/make_oldconfig-$(date --iso-8601).log
make menuconfig => Change CONFIG_LOCALVERSION (example -1-new)
make modules_prepare
make -j4 2>&1 | tee …/make_kernel-$(date --iso-8601).log
make kernelrelease (CHECK Kernel Release Name)
Comment: From here on i run the rest as root.
make INSTALL_FW_PATH=/lib/firmware/3.17.7-1-new modules_install