У нас есть сервер 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
сделать установку
если ошибок нет - перезагрузка.