dracut Предупреждение: невозможно обработать initqueue
Я на Mageia2 x86_64 с ядром 3.3.8-desktop-2.mga2. Ядро загружается нормально.
Мой ноутбук старый, поэтому мне нужно старое ядро для лучшей совместимости и функциональности. Проблема в том, что старое ядро 2.6.38.7-desktop-1.mga Mageia1 не загружается после обновления с Mageia1 до Mageia2.
Я попытался изменить параметр grub "root" с root=UUID... (uuid верен, я проверен с помощью blkid) на root=/dev/sda1, но ошибка та же:
udevd[186]: could not find module by name='8139too'
dracut Warning: Unable to process initqueue
dracut Warning: /dev/... does not exist
Отбрасывание для отладки оболочки
"..." означает sda1 или диск / метку, когда я использую uuid. С помощью отладочной оболочки я обнаружил, что в каталоге / dev нет ни устройства /dev/sdaX, ни каталога /dev/sr0 или / dev / disk, и кажется, что физическое устройство не загружается при загрузке.
Я попытался также воссоздать initrd с помощью следующей команды:
dracut -l -f --hostonly /boot/initrd-2.6.38.7-desktop-1.mga.img 2.6.38.7-desktop-1.mga
со следующим выводом:
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
Но во время загрузки исчезла только ошибка, связанная с моделью 8139.
Кто-то может мне помочь? Спасибо
1 ответ
Проблема связана с ошибкой, сообщенной в ошибке libkmod, показанной в приведенном выше посте.
E: libkmod: index_mm_open: major version check fail: 65537 instead of 2953311319
Я не знаю почему, но модули, представленные в папке /lib/modules/2.6.38.7-desktop-1.mga и прикрепленные к initrd, загружаются неправильно. Действительно, при загрузке dracut я вижу много неизвестных ошибок символов, например, когда загружен модуль pata_atiixp, который используется для доступа к диску и соответствующим rootfs. Вот почему rootfs не монтируется во время загрузки.
Я попытался создать initrd без dracut официальный, принятый в Mageia2 со старым mkinitrd. Сначала я попытался с помощью команды mkinitrd-mkinitrd в Mageia2, а затем с помощью mkinitrd из установки Mageia1. Оба ramdisk были собраны с модулями pata_atiixp, ext4, ehci-hcd, ohci-hcd и другими модулями, необходимыми для загрузки.
Результатом была та же самая загрузка ядра с этими двумя initrd, но когда достигается экран входа в систему kdm, я не могу использовать клавиатуру и мышь / сенсорную панель или все hid, подключенные к usb-портам. В качестве обходного пути я отредактировал файл xorg.conf, поместив эту строку:
Option "AutoAddDevices" "False"
и вручную добавил два InputSection, один для клавиатуры и один для синаптической сенсорной панели. После перезагрузки была включена только клавиатура, и, по крайней мере, я смог войти в систему и обнаружить, что беспроводной модуль, модуль звуковой карты и многие другие не загружаются. При попытке загрузить этот модуль вручную выдается ошибка libkmod. Вероятно, то же самое происходит с модулями клавиатуры и модулями мыши, которые не загружены, и поэтому я не смог использовать их без обходного пути xorg.conf.
Однако я обнаружил также, что suspend и hibernate больше не будут работать со старым ядром, как в Mageia1. Я начал этот бой, потому что думал, что со старым ядром эта функциональность, вероятно, вернется, но это не было результатом. Новая библиотека Mageia2, используемая для управления питанием, особенно e2ram и e2disk, кажется, несовместима с моим оборудованием, не имеет значения, является ли ядро 2.6.38 или 3.3.8, и теперь возникает другой вопрос:
Почему я не могу приостановить или перевести в спящий режим свой ноутбук со старым ядром?
а также
что означает ошибка libkmod?
Может быть, это связано с "магией версий" модулей? Но это очень странно, потому что это предварительно скомпилированное ядро, взятое из официального репозитория и без проблем используемое в Mageia1.