kernel panic - not syncing :VFS : unable to mount root fs unknown-block(2,0)

была рабочая система. решил добавить в ядро поддержку квм - пересобрал. отвалился pppoe. Убрал тот параметр который добавлял - kernel panic - not syncing :VFS : unable to mount root fs unknown-block(2,0)

wgetpaste .config : http://paste.lugons.org/show/3714/

wgetpaste /etc/fstab : http://paste.lugons.org/show/3715/

cat .config | grep EXT
CONFIG_X86_EXTENDED_PLATFORM=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_HAVE_TEXT_POKE_SMP=y
# CONFIG_NET_EMATCH_TEXT is not set
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT23=y
CONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_CONTEXT_SWITCH_TRACER=y

что делать? пробовал менять буквы устройства - не помогло. Система работала около года, все нормально. с gentoo liveusb root вижу, все нормально, монтируется.

kvm делал по http://en.gentoo-wiki.com/wiki/KVM
тронуть успел только ядро.

поиск по сайту - panic - not

поиск по сайту - panic - not syncing :VFS : unable to mount root fs unknown-block(2,0)
20 строчек до этой надпиди на пасту

Темы можно закрывать - она всплывает каждый месяц, освещена в FAQ, но все равно подымается.

Наверно нужно применять меры модеративного характера к топикстартерам таких тем ;(

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): поиск по

slepnoga написал(а):
поиск по сайту - panic - not syncing :VFS : unable to mount root fs unknown-block(2,0)
20 строчек до этой надпиди на пасту

Темы можно закрывать - она всплывает каждый месяц, освещена в FAQ, но все равно подымается.

Наверно нужно применять меры модеративного характера к топикстартерам таких тем ;(

конфиг старый, рабочий. можно вытащить эти строки или переписывать? оно их куда-то сохраняет?

Цитата: что

Цитата:
что делать?

Загрузуиться со старого образа ядра. И сравнить изменения в конфигурации старого и нового ядра.

Если конфиг не сохранился собрать ядро с "дефолтным" конфигом:

cd /usr/src/linux
make -jN defconfig 

Где N - число ядер процессора.

С некоторых пор genkernel стал очень умным и сам указывает / отключает опции ядра, за частую важные, так что лучше для создания рабочего конфига ядра собирать ядро в ручную.

kostik87

kostik87 написал(а):
Цитата:
что делать?

Загрузуиться со старого образа ядра. И сравнить изменения в конфигурации старого и нового ядра.

Если конфиг не сохранился собрать ядро с "дефолтным" конфигом:

cd /usr/src/linux
make -jN defconfig 

Где N - число ядер процессора.

С некоторых пор genkernel стал очень умным и сам указывает / отключает опции ядра, за частую важные, так что лучше для создания рабочего конфига ядра собирать ядро в ручную.

ядро собрано вручную. при сборке со старого конфига - такая же ситуация.

Попробуйте собрать

Попробуйте собрать initramfs:

genkernel ramdisl

Должно помочь, ну а дальше разбирайтесь в чём причина.

kostik87

kostik87 написал(а):
Попробуйте собрать initramfs:

genkernel ramdisl

Должно помочь, ну а дальше разбирайтесь в чём причина.

так работало же с этим конфигом. udev младше 181

Ну вы уж попробуйте.

Ну вы уж попробуйте.

kostik87 написал(а): Ну вы уж

kostik87 написал(а):
Ну вы уж попробуйте.

http://imgur.com/0RWRX

генкернел ни разу не собрал мне рабочее ядро

Я вам не ядро говорю собрать

Я вам не ядро говорю собрать а лишь initramfs, команда:

genkernel ramdisk

соберёт только initramfs под ваше ядро и всё. Читайте внимательно.

Сколько у вас контроллеров жёстких дисков ?

Попробуйте собрать Initramfs так:

genkernel ramdisk --disklabel

И укажите корневой раздел через UUID или метку диска, аналогично и в /etc/fstab

root=UUID=<UUID>

kostik87 написал(а):Я вам не

kostik87 написал(а):
Я вам не ядро говорю собрать а лишь initramfs, команда:

genkernel ramdisk

соберёт только initramfs под ваше ядро и всё. Читайте внимательно.

Сколько у вас контроллеров жёстких дисков ?

Попробуйте собрать Initramfs так:

genkernel ramdisk --disklabel

И укажите корневой раздел через UUID или метку диска, аналогично и в /etc/fstab





root=UUID=<UUID>

все винты отрубил. если заходить через командную строку grub, то root (hd0,2) и я вижу фактически существующий рут. пробовал загрузить старое рабочее ядро(точно рабочее) - тот же кернел паник.

Попробуйте загрузиться с

Попробуйте загрузиться с initramfs с указанием root через UUID.

попробую. сейчас лишь надо

попробую. сейчас лишь надо воткнут генкернел и прогуглить как указывать UUID

Цитата: прогуглить как

Цитата:
прогуглить как указывать UUID

смотрите UUID из вывода команд

blkid
ls -ls /dev/disk-by-uuid/

Указывать так как я вам указал и в /etc/fstab и в параметрах ядра:

UUID=<uuid> / ext4 ...
root=UUID=<uuid>

http://imgur.com/KQYb0

Вы с initramfs загружаетесь ?

Вы с initramfs загружаетесь ?

kostik87 написал(а): Вы с

kostik87 написал(а):
Вы с initramfs загружаетесь ?

опа. его тоже указывать нужно видимо. нет, его я не указывал. сейчас попробую указать.
initramfs собрал просто genkernel ramdisk

загрузилось. а нужно ли

загрузилось. а нужно ли добавлять initramfs в ядро?

Linux Kernel Configuration: Enabling the initramfs
General setup --->
(/usr/src/initramfs) Initramfs source file(s)

упали иксы и еще что-то болеет. но загрузилось. уже ок.

почему случилось подобное то?

Цитата: загрузилось. а нужно

Цитата:
загрузилось. а нужно ли добавлять initramfs в ядро?

Можно, но я это на практике не делал, читайте документацию.

Цитата:
...
(/usr/src/initramfs) Initramfs source file(s)

В эту директорию нужно, скорее всего, поместить содержимое initramfs.

mkdir /usr/src/initramfs
cd /usr/src/initramfs
gunzip -c -9 /boot/<имя файла initramfs> | cpio -i -d -H newc --no-absolute-filenames 
Цитата:
упали иксы и еще что-то болеет

С каким образом ядра ? Какой видео драйвер вы используете, открытый или закрытый.

Цитата:
почему случилось подобное то?

Всё зависит от ваших действий.

kostik87 написал(а): Вы с

kostik87 написал(а):
Вы с initramfs загружаетесь ?

и да, то что куда-то потерялось libudev.so.0, это нормально?

kostik87 написал(а): Вы с

kostik87 написал(а):
Вы с initramfs загружаетесь ?

и да, то что куда-то потерялось libudev.so.0, это нормально?

madinsane

madinsane написал(а):
kostik87 написал(а):
Вы с initramfs загружаетесь ?

и да, то что куда-то потерялось libudev.so.0, это нормально?

нашел

Что нашли-то ?

Что нашли-то ?

libudev.so.0, Автор

libudev.so.0,

Автор kostik87, дата создания 28 марта, 2012 - 09:41.
mv /usr/lib/libkmod* /lib
mv /usr/bin/kmod /bin
cd /bin
ln -fs /bin/kmod lsmod
cd /sbin
for i in depmod insmod modinfo modprobe rmmod ; do ln -s /bin/kmod $i ; done
...
mv /usr/bin/udevadm /bin/
mv /usr/lib64/libgudev* /lib64/
mv /usr/lib64/libudev* /lib64/
cd /usr/lib64
ln -fs /lib64/libgudev-1.0.so.0.1 libgudev-1.0.so.0
ln -fs /lib64/libudev.so.0.9.3 libudev.so.0

все заработало, спасибо. Почему такое произошло?

Наверно потому, что у вас

Наверно потому, что у вас /usr отдельным разделом и, что бы вы ни говорили, про udev, он у вас собран с --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib, отсюда все ваши проблемы.

Ну а последние версии genkernek собирают initramfs, который перед выполнением switch_root монтирует помимо самого корня ещё и /usr.

kostik87 написал(а): Наверно

kostik87 написал(а):
Наверно потому, что у вас /usr отдельным разделом и, что бы вы ни говорили, про udev, он у вас собран с --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib, отсюда все ваши проблемы.

Ну а последние версии genkernek собирают initramfs, который перед выполнением switch_root монтирует помимо самого корня ещё и /usr.

у меня usr в /. не отдельным разделом.

Тогда вам нужен

Тогда вам нужен revdep-rebuild.

kostik87 написал(а): Тогда

kostik87 написал(а):
Тогда вам нужен revdep-rebuild.

при каждой пересборке ядра придется initramfs собирать?

Да, если у вас в initrd будут

Да, если у вас в initrd будут модули, которые требуются для загрузки системы.

Если нет то можете собрать один раз initrd:

genkernel ramdisk --no-ramdisk-modules	--disklabel

И он будет достаточно универсальным.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".