CentOS 7 - Не удалось загрузиться после обновления ядра до 5.x с 3.10 на устройстве nvme - PullRequest
1 голос
/ 03 июня 2019

Я установил CentOS 7.6 в систему с приводом NVME. Все прошло успешно, и система вела себя как ожидалось. Он поставляется с ядром 3.10 по умолчанию, поэтому я обновил ядро ​​до последней версии (5.1.5) и изменил порядок загрузки ядра в grub. Однако всякий раз, когда система перезагружается с версией ядра 5.x, она переходит в аварийный режим со следующей ошибкой:

Could not boot
/dev/centos/root doesn't exist
/dev/centos/swap doesn't exist
/dev/mapper/centos-root doesn't exist

Система просто перезагрузится, если я вернусь к версии ядра 3.10. Я получаю эту ошибку только в версии 5.x. Я сравнил / boot / initramfs для 3.x и 5.x и увидел ниже драйверы ядра, включенные в 3.x, но не в 5.x

lsinitrd -k <5.x kernel version>

usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/nvdimm
usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/nvdimm/libnvdimm.ko.xz
usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/nvdimm/nd_btt.ko.xz
usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/nvdimm/nd_pmem.ko.xz
usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/nvme
usr/lib/modules/3.10.0-57.el7.x86_64/kernel/drivers/nvme/host
usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/nvme/host/nvme-core.ko.xz
usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/nvme/host/nvme.ko.xz

Поэтому я выполнил приведенную ниже команду, чтобы включить драйверы nvme в 5.x и перестроить initramfs.

echo 'add_drivers+=" nvme "' > /etc/dracut.conf.d/nvme.conf

Как только я это сделал, я увидел, что драйверы nvme включены в 5.x initramfs (хотя и с разными именами файлов).

usr/lib/modules/5.1.5-1.el7.elrepo.x86_64/kernel/drivers/nvdimm
usr/lib/modules/5.1.5-1.el7.elrepo.x86_64/kernel/drivers/nvdimm/nd_btt.ko
usr/lib/modules/5.1.5-1.el7.elrepo.x86_64/kernel/drivers/nvdimm/nd_pmem.ko
usr/lib/modules/5.1.5-1.el7.elrepo.x86_64/kernel/drivers/nvme
usr/lib/modules/5.1.5-1.el7.elrepo.x86_64/kernel/drivers/nvme/host
usr/lib/modules/5.1.5-1.el7.elrepo.x86_64/kernel/drivers/nvme/host/nvme-fabrics.ko
usr/lib/modules/5.1.5-1.el7.elrepo.x86_64/kernel/drivers/nvme/host/nvme-tcp.ko

Я снова перезагрузил систему с версией ядра 5.x и снова получил ту же ошибку. Я также прочитал о некоторой корневой задержке на случай, если устройство задерживается в обнаружении ядром, однако я не пробовал это делать, поскольку система прекрасно запускается с ядром 3.x.

Кто-нибудь знает, что здесь может происходить?

...