URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 58723
[ Назад ]

Исходное сообщение
"Не могу понять смысл ошибки после установки ядра"

Отправлено m4za , 29-Июл-05 19:29 
Я откомпилировал ядро 2.6.12.1, все прошло без ошибок. Установил. А вот после запуска пингвина со свежим ядром получаю такую ошибку:

please append a correct "root=" boot option   - ну с этим все ясно, думаю эта строка здесь не причем. Я так понял следующая:

Kernel panic - not syncing VFS: Unable to mount root fs on unknown-block(3,3)

Что это значит? и как с этим бороться?

Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"Не могу понять смысл ошибки после установки ядра"
Отправлено John , 29-Июл-05 23:47 
>please append a correct "root=" boot option   - ну с
>этим все ясно, думаю эта строка здесь не причем. Я так
>понял следующая:

ну так написано же: correct "root="
а если correct, то значит такого устройства нет(unknown-block(3,3))

>Kernel panic - not syncing VFS: Unable to mount root fs on
>unknown-block(3,3)

видимо, устройство, на котором находится root fs, не существует. Причина: либо нужное устройство скомпилировано как модуль и этот модуль не присутствует в initrd.img, либо mkinitrd вообще не запускался(man mkinitrd).


"Не могу понять смысл ошибки после установки ядра"
Отправлено m4za , 30-Июл-05 03:15 
block(3,3) - что это вообще за устройство то такое? поясните...
mkinitrd - что это? и как его запустить?
P.S. нельзя ли в двух словах пояснить, как все это исправить? И чтобы линукс  запускался без вопросов?

"Не могу понять смысл ошибки после установки ядра"
Отправлено John , 30-Июл-05 10:32 
>block(3,3) - что это вообще за устройство то такое? поясните...

Это мажор и минор номерА рутового устройства: 3,3 - это hda3, т.к. мажор hda - 3.

>mkinitrd - что это? и как его запустить?
>P.S. нельзя ли в двух словах пояснить, как все это исправить? И
>чтобы линукс  запускался без вопросов?

mkinitrd делает initial ramdisk(используемый ядром при старте) и помещает в него необходимые скрипты(в которых, например, создается блочный девайс командой mknod) и модули ядра(если таковые есть) необходимые в процессе загрузки.

чтобы была возможность работать с initrd в ядре должна быть включена поддержка
CONFIG_BLK_DEV_INITRD=y

Наиболее часто части ядра, необходимые, в процессе загрузки(такие как драйвера контроллеров жестких дисков) вкомпилируют в ядро, а не собирают в виде модулей.

initrd также нужен в система использующих udev

например, я собираю ядро так
make distclean
make menuconfig
make
make modules_install
makeinitrd --omit-scsi-modules --omit-raid-modules --omit-lvm-modules /path_to_initrd_img X.XX.X-X

X.XX.X-X - версия ядра(mkinitrd будет искать модули в /lib/modules/X.XX.X-X)

Набор параметров для mkinitrd у Вас будет свой.

Не смотря на все мои изливания, все же стОит прочитать какой-н. HOWTO по сборке и установке ядра, ну и man mkinitrd(как я уже писал).


"Опять ошибка!"
Отправлено m4za , 30-Июл-05 15:36 
вот фрагмент моей конфигурации загрузчика (Grub):
title Linux XP (2.6.12.1)
    root (hd0,2)
    kernel /boot/vmlinuz-2.6.12 ro root=LABEL=/ hdc=ide-scsi rhgb
    initrd /boot/initrd-2.6.12.img
title Linux XP (2.4.22-1.2129.nptl)
    root (hd0,2)
    kernel /boot/vmlinuz-2.4.22.nptl ro root=LABEL=/ hdc=ide-scsi rhgb
    initrd /boot/initrd-2.4.22.nptl.img

Я в предыдущий раз случайно убрал у строки "kernel /boot/vmlinuz-2.6.12 ro root=LABEL=/ hdc=ide-scsi rhgb" параметры. Сейчас поставил все как было и ошибка теперь такая:

VFS: Cannot open root device "LABEL=\" or unknown - block(0,0)
please append a correct "root=" boot option
Kernel panic - not syncing VFS: Unable to mount root fs on unknown-block(0,0)

Почему же когда я загружаю ОС с ядром 2.4.22 такой ошибки не вылезает и загрузка проходит нормально?
И почему block(3,3) заменился на (0,0)?


"Опять ошибка!"
Отправлено John , 30-Июл-05 23:29 
В grub.conf заменить ВСЕ root=LABEL=/ на root=/dev/hdaX (/dev/hdaX - рельный раздел с root fs). Также заменить соответствующую строку в /etc/fstab

"Не могу понять смысл ошибки после установки ядра"
Отправлено wwwital , 28-Мрт-06 16:05 
>Kernel panic - not syncing VFS: Unable to mount root fs on
>unknown-block(3,3)

Такая проблема получилась после форматирования рутового раздела под reiserfs.
При этом поддержка reiserfs в ядро вкомпилена не была, а стояла модулем. После включения ее в ядро все заработало (make menuconfig в папке /usr/src/<kernel>)