linux - dracut Warning: Unable to process initqueue
2014-04
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
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.
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
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.