Назад | Перейти на главную страницу

Обновление ядра Монтирование CentOS 5.3: не удалось найти файловую систему '/ dev / root'

У нас есть сервер CentOS 5.3 x64, который по умолчанию запускает версию ядра 2.6.18-164.11.1, и мы пытаемся обновить коробку до 2.6.31.12 Диск - LVM + ext3, и проблема, с которой я сталкиваюсь, заключается в том, что я обновляю ядро и пытаюсь загрузиться с него, независимо от того, какую версию ядра я использую, я получаю / dev / root not found к концу процесса загрузки, и ядро ​​паникует, а затем перезагружается.

Я устанавливаю ядро ​​именно так, как написано в этот док. Я пробовал это "способом CentOS", используя make rpm, а затем установил это. Я обновил свой mkinitrd. Самая интересная часть этой проблемы заключается в том, что она была настолько разочаровывающей, что я решил попробовать и очистить установку centos на идентичной машине без LVM, и результат был ТОЧНО таким же. После обновления ядра я получаю / dev / root not found. Кто-нибудь знает, как это исправить или какая информация будет актуальна для исправления? Я готов попробовать все на этом этапе.

Еще одна интересная особенность этой проблемы заключается в том, что в новой версии ядра при загрузке он жалуется, что dm-mapper запускается дважды, чем сразу после этого паникует. Я пробовал это с другими версиями ядра, и результат тот же. Что мне здесь не хватает?

Если вам нужны еще файлы, просто спросите.

 Linux cg 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:32:21 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

  /dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
    LABEL=/boot             /boot                   ext3    defaults        1 2
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    /dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0

default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.31.12-rt20) //NOT WORKING!!!!
        root (hd0,0)
        kernel /vmlinuz-2.6.31.12-rt20 ro root=/dev/VolGroup00/LogVol00 isolcpus=8,9,10,11,12,13,14,15 panic=10
        initrd /initrd-2.6.31.12-rt20.img
title CentOS (2.6.18-164.11.1.el5) //WORKING!!
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.11.1.el5 ro root=/dev/VolGroup00/LogVol00 isolcpus=8,9,10,11,12,13,14,15 panic=10
        initrd /initrd-2.6.18-164.11.1.el5.img

Я собираюсь добавить свой предыдущий комментарий в качестве ответа здесь, так как это стало наградой. Приносим извинения за грубую попытку заработать очки репутации.

У меня была такая же проблема, и я решил ее, изменив настройку

CONFIG_SYSFS_DEPRECATED_V2=Y

в файле .config. как упоминалось в этом вопросе Годпапой.

Просто найдите CONFIG_SYSFS_DEPRECATED_V2 и измените его на Y и перестройте RPM. Затем установите RPM.

Я могу подтвердить, что это решает проблему в CentOS 5.4 при сборке ядра 2.6.33 с использованием «способа CentOS». Я был бы удивлен, если бы он не работал с 2.6.31.12 и на CentOS 5.3.

Большое спасибо, это также решило мою проблему, большое спасибо, я устанавливал ядро ​​CentoS 2.6.36 на Virtual Box, и это давало мне ту же ошибку, но теперь все решено.

Чтобы решить "IOAPIC for GSI", я использовал pnpacpi = off в /boot/grub/menu.lst, и теперь все работает без сбоев.

Еще раз спасибо.

С уважением, Салман Фрэнсис

Кажется, у вашего тома нет ярлыка.

Обозначьте его с помощью команды e2label. Выясните, на каком hda или sda находится ваш корень, скажем sda2

Отредактируйте конфигурацию grub, найдите и отредактируйте эту часть

root=LABELNAME=/2

Где 2 - это номер hda / sda. Посмотрите, найдет ли он его, перейдя с меткой.

В противном случае я бы сначала посмотрел на загруженные модули и проверил, загружен ли ваш модуль контроллера хранилища (SCSI, SATA, AHCI). Для этого:

less /proc/modules

или

lsmod

Возможно, вам придется пересобрать ядро ​​с его помощью, если оно не загружено.

Удачи.

Попробуйте включить CONFIG_SYSFS_DEPRECATED_V2 = y

насколько я понимаю ваш пост, вы собираете собственное ядро ​​из исходников. есть ли у вас какие-то особые причины не использовать ядра, предоставленные centos?

Я предполагаю, что ваша ошибка заключается в том, что у вас другая конфигурация ядра и отсутствует модуль или более, например. lvm. когда вам действительно нужно собрать ядро ​​самостоятельно, используйте конфигурацию ядра существующего ядра centos. вы найдете старую конфигурацию в своем /boot каталог или просто используйте make oldconfig. но имейте в виду, что это может быть опасно, если вы перепрыгиваете с нескольких версий ядра.

если вы хотите добавить только новый драйвер в свое ядро, просто скомпилируйте драйвер с установленным ядром centos и добавьте его в модули.

Если у вас по-прежнему возникают проблемы с использованием ванильного ядра в CentOS, после создания вашей конфигурации (localmodconfig, oldconfig и т. Д.) Измените файл .config и убедитесь, что для этих параметров установлено значение Y для:

CONFIG_EXT3_FS = y

CONFIG_SYSFS_DEPRECATED_V2 = y

Это помогло мне в двух системах, в одной физической системе с CentOS 4.x и виртуальной машине под виртуальным боксом со свежей установкой CentOS 5.4, обе работали без каких-либо проблем.

После изменения выполните:

делать

сделать modules_install

сделать установку

если ошибок нет - перезагрузка.