2

Я на 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 ответ1

0

Проблема связана с ошибкой, сообщенной в ошибке 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 один для клавиатуры и один для тачпада Synaptics . После перезагрузки была включена только клавиатура, и, по крайней мере, я смог войти в систему и обнаружить, что беспроводной модуль, модуль звуковой карты и многие другие не загружены. При попытке загрузить этот модуль вручную выдается ошибка libkmod. Вероятно, то же самое происходит с модулями клавиатуры и модулями мыши, которые не загружены, и поэтому я не смог использовать их без обходного пути xorg.conf.

Однако я обнаружил также, что suspend и hibernate больше не будут работать со старым ядром, как в Mageia1. Я начал этот бой, потому что думал, что со старым ядром эта функциональность, вероятно, вернется, но это не было результатом. Новая библиотека Mageia2, используемая для управления питанием, особенно e2ram и e2disk, кажется, несовместима с моим оборудованием, не имеет значения, является ли ядро 2.6.38 или 3.3.8, и теперь возникает другой вопрос:

Почему я не могу приостановить или перевести в спящий режим свой ноутбук со старым ядром?

а также

что означает ошибка libkmod?

Может быть, это связано с "магией версий" модулей? Но это очень странно, потому что это предварительно скомпилированное ядро, взятое из официального репозитория и без проблем используемое в Mageia1.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .