Bugzilla – Bug 431577
too many kernel modules in initrd
Last modified: 2008-10-09 11:12:33 UTC
I have done an upgrade to factory from beta1, and I have noticed an error with the kernel upgrade. I haven't rebooted yet, I don't think it will boot. silviu:~ # mkinitrd Kernel image: /boot/vmlinuz-2.6.27-rc6-7-default Initrd image: /boot/initrd-2.6.27-rc6-7-default Root device: /dev/disk/by-id/scsi-SATA_ST3160812AS_4LS28FNQ-part4 (/dev/sda4) (mounted on / as reiserfs) Resume device: /dev/disk/by-id/scsi-SATA_ST3160812AS_4LS28FNQ-part3 (/dev/sda3) find: `/lib/modules/2.6.27-rc6-7-default/kernel/drivers/s390': No such file or directory find: `/lib/modules/2.6.27-rc6-7-default/kernel/drivers/s390': No such file or directory Kernel Modules: processor thermal ide-core piix dock scsi_mod libata pata_acpi ata_piix ata_generic ide-pci-generic fan reiserfs edd pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 sata_sil pata_sis sata_sis sata_sx4 pata_cmd640 pata_efar sata_svw pata_cmd64x sata_uli sata_via pata_hpt366 sata_vsc pata_hpt37x pata_hpt3x3 pata_optidma pata_it8213 pata_ninja32 pata_it821x pata_artop pata_oldpiix pata_cypress sata_mv sata_nv sata_sil24 pata_serverworks pata_ns87410 pata_ns87415 pcmcia_core pcmcia pata_pcmcia pata_ali pata_amd pdc_adma ahci pata_opti pata_atiixp pata_triflex pata_pdc202xx_old sata_promise pata_sc1200 pata_netcell pata_sch sata_qstor pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_sl82c105 sata_inic162x it8213 it821x delkin_cb serverworks via82cxxx sis5513 amd74xx ns87415 pdc202xx_new pdc202xx_old atiixp triflex sc1200 cs5520 cs5530 jmicron slc90e66 rz1000 cmd640 cmd64x hpt366 alim15x3 aec62xx siimage ide-pnp ide-disk cdrom ide-cd_mod ide-tape ide_platform ide-cs ide-generic ide-floppy qla1280 scsi_transport_sas scsi_tgt scsi_transport_fc lpfc qla2xxx scsi_transport_iscsi qla4xxx scsi_transport_spi scsi_transport_srp dmx3191d ch sg st eata scsi_debug libiscsi libsrp sr_mod ide-scsi BusLogic 3w-9xxx iscsi_tcp aic7xxx_old dc395x tmscsim fdomain stex arcmsr scsi_dh scsi_dh_rdac scsi_dh_emc scsi_dh_hp_sw scsi_dh_alua gdth initio 3w-xxxx libsas mvsas parport imm ips aacraid qlogicfas408 qlogic_cs fdomain_cs sym53c500_cs raid_class ppa scsi_wait_scan aic94xx aic7xxx aic79xx enclosure ses hptiop atp870u crc-t10dif sd_mod sym53c8xx megaraid osst megaraid_mm megaraid_sas megaraid_mbox dpt_i2o advansys usbcore ohci-hcd uhci-hcd ehci-hcd ff-memless hid usbhid Features: block usb resume.userspace resume.kernel Bootsplash: openSUSE (1280x1024) 43647 blocks Kernel image: /boot/vmlinuz-2.6.27-rc7-12-default Initrd image: /boot/initrd-2.6.27-rc7-12-default Could not find the filesystem module for root device /dev/disk/by-id/scsi-SATA_ST3160812AS_4LS28FNQ-part4 (reiserfs) silviu:~ # rpm -q kernel-default kernel-default-2.6.27-12.1
Also, it seems it uses an awful lot of modules for a desktop Dell PC.
Hello, could you provide /var/log/zypper.log ? Thanks
It booted, and now mkinitrd seems to run without the reiserfs error. However there are still way too many modules.
Created attachment 243099 [details] zypper.log
I have unpacked the initrd and it has indeed a lot of useless modules for booting. Like idetape.ko. I think it has all the modules. It doesn't seem normal, but maybe it's a new behavior, to include all modules.
From the changelog: * Di Sep 09 2008 hare@suse.de - Fix dhcp network detection (bnc#415438) - parse 'ip route' lines correctly (bnc#414191) - Always include all ATA and SCSI drivers
Since this is expected new behaviour, I'll close the bug as invalid.
Expected by who and why?
By hare@suse.de. Why? I presume because it's simpler, because systems have a lot of memory and because the initrd is cleared from memory anyway after the local storage becomes visible. So it doesn't make sense maintaining code that detects the actual hardware and inserts only those modules in initrd. But this is just my own assumption, hare@suse.de can provide the actual explanation.
Let's ask Hannes for his reasoning since it's not given in the changelog and there's no reference.
That was an error; we should only be include all libata drivers, and even those only if a libata driver was used for the root device (cf bug#433105). Will be fixed with Beta3.