Bug 431577

Summary: too many kernel modules in initrd
Product: [openSUSE] openSUSE 11.1 Reporter: Silviu Marin-Caea <silviu_marin-caea>
Component: KernelAssignee: Hannes Reinecke <hare>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P2 - High CC: aj, holler
Version: Factory   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: zypper.log

Description Silviu Marin-Caea 2008-10-02 13:31:57 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
Comment 1 Silviu Marin-Caea 2008-10-02 13:34:02 UTC
Also, it seems it uses an awful lot of modules for a desktop Dell PC.
Comment 2 Robert Vojcik 2008-10-02 14:02:20 UTC
Hello,

could you provide /var/log/zypper.log ?

Thanks
Comment 3 Silviu Marin-Caea 2008-10-02 14:06:49 UTC
It booted, and now mkinitrd seems to run without the reiserfs error.

However there are still way too many modules.
Comment 4 Silviu Marin-Caea 2008-10-02 14:08:57 UTC
Created attachment 243099 [details]
zypper.log
Comment 5 Silviu Marin-Caea 2008-10-02 14:17:40 UTC
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.
Comment 6 Hans-Peter Holler 2008-10-02 14:32:44 UTC
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
Comment 7 Silviu Marin-Caea 2008-10-03 07:40:40 UTC
Since this is expected new behaviour, I'll close the bug as invalid.
Comment 8 Felix Miata 2008-10-03 08:26:46 UTC
Expected by who and why?
Comment 9 Silviu Marin-Caea 2008-10-03 09:21:42 UTC
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.
Comment 10 Andreas Jaeger 2008-10-03 11:22:53 UTC
Let's ask Hannes for his reasoning since it's not given in the changelog and there's no reference.
Comment 11 Hannes Reinecke 2008-10-09 11:12:33 UTC
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.