Bug 491959 - installation of kernel-default-base produces lot of FATAL errors
Summary: installation of kernel-default-base produces lot of FATAL errors
Status: RESOLVED FIXED
: 489104 (view as bug list)
Alias: None
Product: openSUSE 11.1
Classification: openSUSE
Component: Kernel (show other bugs)
Version: Final
Hardware: Other Other
: P3 - Medium : Enhancement (vote)
Target Milestone: ---
Assignee: Michal Marek
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-03 16:48 UTC by Tomas Cech
Modified: 2009-08-21 13:10 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Cech 2009-04-03 16:48:04 UTC
Installation of kernel-default-base produces lot of FATAL errors on elzar.suse.cz. There was installed kernel-pae before.

Instaluje se: kernel-default-base-2.6.27.19-5.1 [HOTOVO]
Additional rpm output:
Setting up /lib/modules/2.6.27.19-5-default

Kernel image:   /boot/vmlinuz-2.6.27.19-5-default
Initrd image:   /boot/initrd-2.6.27.19-5-default
Root device:    /dev/system/root (mounted on / as ext3)
Resume device:  /dev/system/swap
FATAL: Module processor not found.
WARNING: no dependencies for kernel module 'processor' found.
FATAL: Module thermal not found.
WARNING: no dependencies for kernel module 'thermal' found.
FATAL: Module ata_generic not found.
WARNING: no dependencies for kernel module 'ata_generic' found.
FATAL: Module piix not found.
WARNING: no dependencies for kernel module 'piix' found.
FATAL: Module ide_pci_generic not found.
WARNING: no dependencies for kernel module 'ide_pci_generic' found.
FATAL: Module fan not found.
WARNING: no dependencies for kernel module 'fan' found.
FATAL: Module dm_snapshot not found.
WARNING: no dependencies for kernel module 'dm-snapshot' found.
FATAL: Module usbhid not found.
WARNING: no dependencies for kernel module 'usbhid' found.
FATAL: Module linear not found.
WARNING: no dependencies for kernel module 'linear' found.
Kernel Modules: dock scsi_mod libata ata_piix jbd mbcache ext3 dm-mod edd crc-t10dif sd_mod usbcore ohci-hcd ehci-hcd uhci-hcd
Features:       dm block usb lvm2 resume.userspace resume.kernel
Bootsplash:     SLES (800x600)
25662 blocks
Comment 1 Jeff Mahoney 2009-05-15 14:42:55 UTC
You haven't met the dependencies required for your initrd. If you install kernel-default then they'll be met and the initrd will be created properly.

I've been seeing a lot of reports about these, so I'm going to assign to Michal Marek as an enhancement request.
Comment 3 Elmar Stellnberger 2009-05-21 07:47:26 UTC
Install kernel-default before kernel-base??
It is not possible due to dependencies:

> rpm -ivh kernel-default-2.6.30-master_20090515173431_9c6d4c14.x86_64.rpm
error: Failed dependencies:
        kernel-default-base_x86_64 = 2.6.30-master_20090515173431_9c6d4c14 is needed by kernel-default-2.6.30-master_20090515173431_9c6d4c14.x86_64
Comment 4 Michal Marek 2009-05-21 08:10:18 UTC
Guys, the error messages are expected on a normal system, as long as you install kernel-default as the next step. The list of modules needed for the initrd is unfortunately not a static thing and therefore at rpm level it's not possible to say which packages are needed for the initrd.

The "FATAL" error comes from modprobe and is misleading here (mkinitrd and the kernel %post script can handle that):
# modprobe xxx
FATAL: Module xxx not found.
Comment 5 Elmar Stellnberger 2009-05-21 08:20:47 UTC
Why does kernel-default-base try to set up an initrd and menu.lst-entry at all instead of waiting for kernel-default to be installed if it is not functional alone?
Comment 6 Michal Marek 2009-05-21 08:23:45 UTC
Because it doesn't know whether it's functional alone until it tries to create the initrd.
Comment 7 Elmar Stellnberger 2009-05-21 08:37:18 UTC
The package itself doesn`t know it, right?
... but you as a package creator know it.
... or is there in deed any way to use kernel-default-base without kernel-default?
Comment 8 Michal Marek 2009-05-21 08:47:38 UTC
It could be user in a minimal virtual guest where it doesn't need most drivers. BTW the same problem is with kernel-default vs. kernel-default-extra. The list of needed modules depends on configuration, it can't be expressed via rpm dependencies.
Comment 9 Elmar Stellnberger 2009-05-21 09:02:11 UTC
  Perhaps kernel-default-base should wait for kernel-default to be installed if some module dependencies can not be met by the current sysconfig. 
  If module dependencies are not met it could prompt the user to additionally install kernel-default not setting up any initrd or menu.lst-entry. That would save some time at install time as well as skipping those FATAL-messages; if that should not be too hard to do.
Comment 10 Michal Marek 2009-05-21 09:22:06 UTC
I do plan to change it to do all the work in a %posttrans script after all packages are installed (if you run rpm -i kernel-default{-base,,-extra}), unfortunately that won't have any effect when using zypp, because it still installs packages separately.

BTW there is no way to prompt the user for anything from within an rpm package, if the user wishes to install only a subset of the kernel packages, the script has to simply try it.
Comment 11 Elmar Stellnberger 2009-05-21 10:02:11 UTC
Using %posttrans is a good idea (By 'prompt' I simply meant the %postin-script to output something like: please continue to install kernel-default.).
Comment 12 Jeff Mahoney 2009-05-21 13:15:38 UTC
It might also be nice to figure out if there is a way to identify when drivers have been included into the monolithic kernel. As Elmar reports in bug #496954, even the mkinitrd after kernel-default-extra is throwing "FATAL" errors due to missing modules - but it's because Greg incorporated them into the main kernel image. To remove them from $INITRD_MODULES would just break earlier kernels.
Comment 13 Michal Marek 2009-05-21 13:29:56 UTC
See bug 430405, I plan to generate a modules.builtin file during kernel build and install it in /lib/modules/*/.
Comment 14 Michal Marek 2009-07-16 16:32:12 UTC
*** Bug 489104 has been marked as a duplicate of this bug. ***
Comment 15 Ralph Ulrich 2009-08-04 14:42:10 UTC
For me as a non-developer this output disturbing:
---
# 2009-08-03 19:27:41 kernel-desktop-base-2.6.31-1.1.i586.rpm installed ok
# Additional rpm output:
# Free diskspace below /boot: 9158056 blocks
# Setting up /lib/modules/2.6.31-rc4-1-desktop
# /etc/modprobe.conf: No such file or directory
# /etc/modprobe.conf.local: No such file or directory
#
# Kernel image:   /boot/vmlinuz-2.6.31-rc4-1-desktop
# Initrd image:   /boot/initrd-2.6.31-rc4-1-desktop
# cp: cannot stat `/etc/scsi_id.config': No such file or directory
# Root device:  /dev/sda2 (mounted on / as ext3)
# Resume device:        /dev/sda5
# WARNING: no dependencies for kernel module 'ata_piix' found.
# WARNING: no dependencies for kernel module 'sd_mod' found.
# WARNING: no dependencies for kernel module 'uhci-hcd' found.
# Features:       block usb
# 13243 blocks
---
If I had not an alternative Debian installation and feared to loose access to my computer (no ata, sd...) I would have done CTRL-C and reboot...
Please make extra kernel packages for extra use cases like:
"could be user in a minimal virtual guest where it doesn't need most drivers."
Comment 16 Jeff Mahoney 2009-08-04 14:51:46 UTC
(In reply to comment #15)
> Please make extra kernel packages for extra use cases like:
> "could be user in a minimal virtual guest where it doesn't need most drivers."

Already done. That's what kernel-$flavor-base is.
Comment 17 Michal Marek 2009-08-05 11:29:29 UTC
FYI: https://features.opensuse.org/307154#comment_1

I think making the main package a superset of the -base package should fix these issues quite nicely. Each install would require either kernel-$flavor OR kernel-$flavor-base, but not both (although that shouldn't fail either).
Comment 18 Michal Marek 2009-08-21 13:10:50 UTC
In 11.2, kernel-$flavor-base won't be needed in normal installs.