linux - dracut Warning: Unable to process initqueue

05
2014-04
  • Bemipefe

    I'm on Mageia2 x86_64 with kernel 3.3.8-desktop-2.mga2. The kernel boot normally.

    My laptop is old so i need the old kernel for better compatibility and functionality. The problem is that the old kernel 2.6.38.7-desktop-1.mga of Mageia1 won't boot after upgrade from Mageia1 to Mageia2.

    I tried to change the grub "root" parameter from root=UUID... (the uuid is correct i verified with blkid) to root=/dev/sda1 but the error it's the same:

    udevd[186]: could not find module by name='8139too'
    
    dracut Warning: Unable to process initqueue  
    dracut Warning: /dev/... does not exist
    

    Dropping to debug shell

    The "..." mean sda1 or the disk/by-label when i use uuid. With the debug shell i discovered that in the /dev dir there is no /dev/sdaX device nor /dev/sr0 or/dev/disk directory and seem like the physical device are not loaded at boot.

    I tried also to recreate the initrd by the following command:

    dracut -l -f --hostonly /boot/initrd-2.6.38.7-desktop-1.mga.img 2.6.38.7-desktop-1.mga
    

    with the following output:

    I: *** Including module: dash ***
    I: *** Including module: i18n ***
    E: i18n_vars not set!  Please set up i18n_vars in  configuration file.
    E: No KEYMAP.
    I: *** Including module: rpmversion ***
    I: *** Including module: plymouth ***
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    I: *** Including module: kernel-modules ***
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: modprobe: tools/kmod-modprobe.c:550: print_action: Assertion `kmod_module_get_initstate(m) == KMOD_MODULE_BUILTIN' failed.
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    I: *** Including module: resume ***
    I: *** Including module: rootfs-block ***
    I: *** Including module: terminfo ***
    I: *** Including module: udev-rules ***
    I: Skipping udev rule: 50-udev.rules
    I: Skipping udev rule: 95-late.rules
    I: Skipping udev rule: 50-firmware.rules
    I: *** Including module: usrmount ***
    I: *** Including module: base ***
    I: *** Including module: fs-lib ***
    I: *** Including module: shutdown ***
    I: Skipping program kexec as it cannot be found and is flagged to be optional
    I: *** Including modules done ***
    I: Wrote /boot/initrd-2.6.38.7-desktop-1.mga.img:
    I: -rw------- 1 root root 6473315 Dec 24 17:57 /boot/initrd-2.6.38.7-desktop-1.mga.img
    

    But at boot time only the error related the model 8139too it's disappeared.

    Someone can help me ? Thanks

  • Answers
  • Bemipefe

    The problem is related the error reported in the libkmod error showed in the above post.

    E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
    

    I don't know why but the modules provided in the folder /lib/modules/2.6.38.7-desktop-1.mga and attached to the initrd are not loaded correcly. Indeed with dracut boot i can see a lot of unknown symbol error for example when the module pata_atiixp is loaded that is used to access the disk and the related rootfs. So this is why the rootfs isn't mounted at boot time.

    I tried to create an initrd without dracut the official adopted in Mageia2 with the old mkinitrd. I tried first with mkinitrd-mkinitrd command in Mageia2 and then with mkinitrd from an installation of Mageia1. Both ramdisk was built with modules pata_atiixp, ext4, ehci-hcd, ohci-hcd and others modules needed to boot.

    The result was the same the kernel boot with this two initrd but when the kdm login screen is reached i can't use the keyboard and the mouse/touchpad or every hid attached to the usb ports. As work around i edited the xorg.conf file putting this line:

    Option "AutoAddDevices" "False"
    

    and manually added two InputSection one for keyboard and one for synaptics touchpad. After reboot only the keyboard was enabled and at least i was able to login and discover that the wireless module, the sound card module a lot of others are not loaded. Trying to load manually this module give the above libkmod error. Probably the same happen to the keyboard modules and mouse modules that are not loaded and this is why i was unable to use them without the xorg.conf workaround.

    However i discoverd also that suspend and hibernate won't work any more with the old kernel as in Mageia1. I started this fight because i thought that with old kernel this functionality probably will come back but this was not the result. The new library of Mageia2 used to the Power Management, especially e2ram and e2disk seem to be incompatible with my hardware doesn't matter if the kernel is 2.6.38 or 3.3.8 and now another question arise:

    Why i'm not able to suspend or hibernate my laptop with the old kernel ?

    and

    what does mean the libkmod error ?

    Maybe it's related the "version magic" of the modules ? But this is very strange because it's a precompiled kernel taken from the official repository and used without problem in Mageia1.


  • Related Question

    linux - hardware changes make identical grub boot into different OS
  • Kevin M

    The hardware:

    • motherboard with one IDE slot(2 drives)
    • PCI card with 2 slots(4 drives)
    • hard drive with CentOS installed
    • hard drive with an old Fedora installed

    The normal situation:
    I boot into grub(CentOS splashscreen) and that boots CentOS installed on the CentOS drive(hda).

    The situation as it is now:
    I hook up the Fedora drive(to either the master or slave on the primary channel on the PCI card, hdc or hdd) and boot. The CentOS grub boots, uses the CentOS kernel, and everything else is from Fedora. Modules, software versions, etc, almost like it's recognized the Fedora drive as hda. However, if I were to mount hda as /mnt/hda, I get the CentOS drive. If I mount hdd or hdc as /mnt/hdc or /mnt/hdd, I get the Fedora drive as expect. But the mounted hda outside of any other paths(/usr for example), I get the Fedora files.

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/hda3             9.5G  7.5G  1.6G  83% /
    /dev/hdd5             9.5G  7.5G  1.6G  83% /mnt/hdd5
    /dev/hda3             6.4G  3.3G  2.8G  54% /mnt/hda3
    

    Of particular note here are the drives mounted(from /dev) and their filesystem sizes.

    Has anyone seen this before? How do I go about starting the 6.5GB drive as an OS?

    Update: The grub entry is:

    title CentOS (2.6.18-128.4.1.el5.centos.plus)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-128.4.1.el5.centos.plus ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.18-128.4.1.el5.centos.plus.img
    

    cat devices.map

    # this device map was generated by anaconda
    (hd0)     /dev/hda
    

    fdisk -l(Fedora)

    Disk /dev/hdd: 40.0 GB, 40020664320 bytes
    255 heads, 63 sectors/track, 4865 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
    /dev/hdd1               1        1275    10241406    7  HPFS/NTFS
    /dev/hdd2            1276        4864    28828642+   f  W95 Ext'd (LBA)
    /dev/hdd3            4865        4865        8032+  82  Linux swap / Solaris
    /dev/hdd5            1276        2550    10241406   83  Linux
    /dev/hdd6            2551        4864    18587173+   b  W95 FAT32
    

    fdisk -l(CentOS):

    Disk /dev/hda: 20.0 GB, 20020396032 bytes
    255 heads, 63 sectors/track, 2434 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
    /dev/hda1   *           1          10       80293+  83  Linux
    /dev/hda2              11         402     3148740   82  Linux swap / Solaris
    /dev/hda3             403        1258     6875820   83  Linux
    /dev/hda4            1259        2434     9446220    5  Extended
    /dev/hda5            1259        1911     5245191   83  Linux
    /dev/hda6            1912        2433     4192933+  83  Linux
    

  • Related Answers
  • phresus

    Relabel the Fedora root partition. The bootloader is getting confused. Something like e2label /dev/hda3 /centos, then modify your GRUB entry (and possibly /etc/fstab) to point at that as the label.

    Alternatively, you could relabel the Fedora root. Or take the easy way and point /etc/fstab and the root= directive in your menu.lst at /dev/hda3 rather than a filesystem label.