LINUX.ORG.RU

История изменений

Исправление mxfm, (текущая версия) :

emerge -av gentoo-kernel-bin

genkernel –lvm –luks initramfs

Вывод: genkernel на рабочей системе неправильно определяет версию ядра (поэтому не находит необходимые модули), либо не определяет, что модули нужны (маловероятно, если параметры lvm и luks заданы явно). Я бы копал в сторону отладочного вывода команды genkernel, чтобы понять какую версию ядра и модулей она собирает. Скорее всего emerge вызывает genkernel с какими-то дополнительными аргументами, которых недостаточно при обычном запуске. Ещё можно сравнить содержимое двух initramfs, чтобы понять, чего нет (судя по картинке - похоже нет драйверов диска или lvm).

P.S. В gentoo не так давно что-то изменили с installkernel, dracut и GRUB, что повлияло на автоматический процесс сборки ядра и initramfs. Не похоже, что это причина, так как было уже давно, но автоматическое определение необходимой версии ядра и модулей могло сломаться по другой причине.

Исходя из своего опыта (использую dracut) сделал так - если обновляется ядро, то пересобираю зависимые пакеты (например, nvidia-drivers и virtualbox-modules), далее запускаю скрипт dracut_update 6.xx.yy (обёртка над основной командой dracut с прописыванием всего необходимого + передача параметра версии ядра). Указываю новую версию явно, чтобы избежать таких ситуаций. Плюс этой схемы - никакие изменения процесса сборки initramfs со стороны дистрибутива/installkernel не сломают загрузку.

Исходная версия mxfm, :

emerge -av gentoo-kernel-bin

genkernel –lvm –luks initramfs

Вывод: genkernel на рабочей системе неправильно определяет версию ядра (поэтому не находит необходимые модули), либо не определяет, что модули нужны (маловероятно, если параметры lvm и luks заданы явно). Я бы копал в сторону отладочного вывода команды genkernel, чтобы понять какую версию ядра и модулей она собирает. Скорее всего emerge вызывает genkernel с какими-то дополнительными аргументами, которых недостаточно при обычном запуске. Ещё можно сравнить содержимое двух initramfs.

P.S. В gentoo не так давно что-то изменили с installkernel, dracut и GRUB, что повлияло на автоматический процесс сборки ядра и initramfs. Не похоже, что это причина, так как было уже давно, но автоматическое определение необходимой версии ядра и модулей могло сломаться по другой причине.

Исходя из своего опыта (использую dracut) сделал так - если обновляется ядро, то пересобираю зависимые пакеты (например, nvidia-drivers и virtualbox-modules), далее запускаю скрипт dracut_update 6.xx.yy (обёртка над основной командой dracut с прописыванием всего необходимого + передача параметра версии ядра). Указываю новую версию явно, чтобы избежать таких ситуаций.