Ошибка при первом запуске системы: "VFS: Cannot open root device "303" or unknown block(3,3)"

Добрый день!

После компиляции ядра, при первом запуске Gentoo, возникает следующая ошибка:

"VFS: Cannot open root device "303" or unknown block(3,3)"
Please append a correct "root=" boot option; here are avaible partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,3)

Я уже что, только не пробовал, ничего не получается.

Вот мои конфигурационные файлы:

/etc/fstab:

/dev/hda1 /boot ext2 defaults, noatime 1 2
/dev/hda3 / ReiserFS defaults 0 1
/dev/hda2 none swap sw 0 0
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0

/etc/lilo.conf:

boot=/dev/hda
prompt
timeout=50
default=gentoo

image=/boot/vmlinuz
label=gentoo
read-only
root=/dev/hda3

image=/boot/vmlinuz
label=gentoo.rescue
read-only
root=/dev/hda3
append="init=/bin/bb"

/etc/make.conf

CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
MAKEOPTS="-j2"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ ftp://ftp.wallawalla.edu/pub/mirrors/ftp.gentoo.org ftp://ftp.ntua.gr/pub/linux/gentoo/ http://ftp.ntua.gr/pub/linux/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://mirror.muntinternet.net/pub/gentoo/ ftp://mirror.muntinternet.net/pub/gentoo/ http://mirror.mdfnet.se/mirror/gentoo ftp://mirror.mdfnet.se/gentoo http://mirror.yandex.ru/gentoo-distfiles/ ftp://mirror.yandex.ru/gentoo-distfiles/ http://gentoo.kiev.ua/ftp/ ftp://gentoo.kiev.ua/ http://mirror.bytemark.co.uk/gentoo/ ftp://mirror.bytemark.co.uk/gentoo/"
USE="-gtk -gnome -qt3 -qt4 -kde -dvd -alsa -cdr -X -ipv6 sasl lmtp apache2 mysql"

Вывод lspci:

00:00.0 Host bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (rev 03)
00:02.0 VGA compatible controller: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 82)
00:1f.0 ISA bridge: Intel Corporation 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801DB (ICH4) IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 02)
01:09.0 Ethernet controller: VIA Technologies, Inc. VT6105 [Rhine-III] (rev 8b)
01:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Видимо, я где-то чего-то упустил при выставления опций ядра, но очень непонятно, что именно.

Буду очень благодарен за оказанную помощь!

reiserfs в ядре включен?

reiserfs в ядре включен?

Где мало слов, там вес они имеют... (с) W. Sheakespeare

ReiserFS

Вот какие опции я включал в настроечном меню:

<*> Reiserfs support
│ │ [*] Enable reiserfs debug
│ │ [*] Stats in /proc/fs/reiserfs
│ │ [*] ReiserFS extended attributes
│ │ [*] ReiserFS POSIX Access Control Lists [*] ReiserFS Security Labels

попробуй root=/dev/sda3

попробуй root=/dev/sda3

Где мало слов, там вес они имеют... (с) W. Sheakespeare

IDE

Дык у меня винт подключен по IDE, я читал, что если он SATA, то тогда обозначается как /dev/sda3.
Вот:

livecd linux # ls -la /dev | grep sda
livecd linux # ls -la /dev | grep hda
brw-rw---- 1 root disk 3, 0 Jan 2 2003 hda
brw-rw---- 1 root disk 3, 1 Jan 2 2003 hda1
brw-rw---- 1 root disk 3, 2 Jan 2 2003 hda2
brw-rw---- 1 root disk 3, 3 Jan 2 2003 hda3

Или я что-то путаю? Но на всякий случай попробую, чем черт не шутит.

http://www.gentoo.ru/node/144

http://www.gentoo.ru/node/14436

Где мало слов, там вес они имеют... (с) W. Sheakespeare

libata

libata - это конечно хорошо, но как быть с ошибками, при запуске lilo см. ниже

с lilo не знаком, у меня

с lilo не знаком, у меня grub... насколько я понимаю, boot=/dev/hda - это параметр для lilo, попробуй его не менять...
а root=/dev/hda3 - это для ядра, его поменяй...
...второе - не знаю как в lilo разделы нумеруются, в грубе sda3 будет hd0.2...
ну и третье - ядро сам собирал, или генкернелом?

Где мало слов, там вес они имеют... (с) W. Sheakespeare

не дает

1. Поменял на root=/dev/hda3, не трогая boot=/dev/hda, выводит:
Fatal: Illegal 'root' specification: /dev/sda3
2. В лило прописывается, как hda3 и все, я поэтому его и выбрал, я не понял эти обозначения, когда первый раз ставил Gentoo.
3. Ядро собирал сам: cd /usr/src/linux && make menuconfig

ClearKbdBuf написал(а):1.

ClearKbdBuf написал(а):
1. Поменял на root=/dev/hda3, не трогая boot=/dev/hda, выводит:
Fatal: Illegal 'root' specification: /dev/sda3
2. В лило прописывается, как hda3 и все, я поэтому его и выбрал, я не понял эти обозначения, когда первый раз ставил Gentoo.
3. Ядро собирал сам: cd /usr/src/linux && make menuconfig

сдается мне, что вы не включили поддержку вашего ide-контроллера в ядре...

Где мало слов, там вес они имеют... (с) W. Sheakespeare

Я тоже так думаю, но я

Я тоже так думаю, но я повключал практически все что связано с IDE, контроллер у меня интеловский, как видно из вывода lspci, потому поддержку контроллеров других производителей не стал включать. Но все что связано с Ineteloм,а так же пункты, где явно не указано что это не чей либо контроллер тоже включены.

lspci под инсталСД чего

lspci под инсталСД чего показывает? ide контроллер какой?

Где мало слов, там вес они имеют... (с) W. Sheakespeare

вывод lspci (контроллер IDE)

00:1f.1 IDE interface: Intel Corporation 82801DB (ICH4) IDE Controller (rev 02)

http://www.gentoo.ru/node/125

http://www.gentoo.ru/node/12598

Где мало слов, там вес они имеют... (с) W. Sheakespeare

частенько ide ставят и

частенько ide ставят и jmicro. сталкивался даже на дорогих матерях. проверьте. в ядро [*]

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Ошибка Lilo

Не дает он так прописать: после того как в lilo.conf прописал:
...
boot=/dev/sda
...
root=/dev/sda3
...

(точки ... означают пропущенное содержимое)

после /sbin/lilo
выдает:
Fatal: raid_setup: stat("/dev/sda")

Все дело в том что ядро с

Все дело в том что ядро с установочного СД определяет IDE диски как hd*, а новое собранное ядро определяет их как sd*.
это связано с использованием libata.

чтоб установить загрузчик в опцию boot=/.. нужно писать именно hda (ну то есть тот диск на который должен встать загрузчик и как его видит текущее ядро), а вот в опции root= написать соответственно sda*.
я правда настраивал только grub, пришлось еще поправить файл /boot/grub/device.map, тоже вместо /dev/hda прописать /dev/sda, но уже после установки загрузчика. и можно грузить новое ядро

Такая же засада.. После фрюхи

Такая же засада..
После фрюхи все это выглядит просто дико.

тоесть lilo с лайфсд не дает прописывать не существующее устройство sda,
а ядро не может загрузится с устройста hda, потому что оно определилось как sda.
И тупик.
Пути выхода кто нибудь предложит?

ps
grub использовать не могу, т.к. он не понимает мой монитор или видео карту, в общем кракозабрами забивает экран и стоит.

Доброго времени суток!

Доброго времени суток! Столкнулся с подобной проблемой, правда после обновления ядра до 2.6.30, поддержка IDE вкомпилена в ядро, конфиг использовал тот же что и на предыдущей версии ядра(2.6.24)
/etc/fstab:

/dev/hda2 /boot ext2 defaults, noatime 1 2
/dev/hda4 / ext3 defaults 0 1
/dev/hda3 none swap sw 0 0

/etc/lilo.conf:

boot=/dev/hda
prompt
timeout=50
default=WindowsXP

image=/boot/2.6.30-gentoo
label=gentoo
read-only
root=/dev/hda4

other=/dev/hda1
label=WindowsXP

Предполагаю, что проблема в libatа, пробовал вкомпилить её в ядро и отключить поддержку IDE, исправить fstab и lilo.conf, но без результатов. Если кто-то знает что делать, подскажите плз. Уважаемый ClearKbdBuf, если вы нашли выход из сложившейся ситуации, расскажите что делать.

всего 4 действия )))

1. Удостоверьтесь, что ваше железо поддерживается!
2. Избавьтесь от поддержки IDE и включите libata (поддержка IDE в нее входит! между собой эти дврова конфликтуют)!
3. Удостоверьтесь, что модуль поддержки ФС, которая используется в корневом разделе, либо вкомпилен статически в ядро, либо находится в initramfs(поддержка initramfs тоже должна быть включена)!
4. Избавьтесь от Lilo и переходите на grub. ИМХО, grub сложнее, но гораздо более гибок и не имеет ограничений

Это, в принципе, всё, из-за чего может происходить такая ошибка! ;-)

Спасибо, попробую,

Спасибо, попробую, относительно 1-ого пунтка, в этом я уверен, по крайней мери на 2.6.24 работало) По поводу 3-его, поддержка всех используемых фс вкомпилена в ядро По поводу 4-ого я к этому выводу тоже приходил, но как-то руки не доходили пока:) Так что остается вкомпилить поддержку libata и поставить grub)) Кстати, а если у меня SATA жесткий тоже имеется, как он называться будет и IDE жесткий в Grub писать как sd(0,0) или как hd(0,0)?

в грабе везде пишется hd, там

в грабе везде пишется hd, там тока циферки имеют значение ;-)
если к стати есть SATA диски, то советую так же в биосе включить режим SATA контроллера AHCI и включить соответствующую поддержку в ядре ;-) работать будет пошустрее, т.к. иначе работает по протоколу IDE ;-)

Theli написал(а): 4.

Theli написал(а):
4. Избавьтесь от Lilo и переходите на grub. ИМХО, grub сложнее, но гораздо более гибок и не имеет ограничений

Это, в принципе, всё, из-за чего может происходить такая ошибка! ;-)

я не настолько уверен в этом, груб местами гораздо удобнее но ограничений там определённо больше. например он должен понимать ФС с которой грузит, есть проблемы с загрузкой с SoftRAID/LVM, в отличии от lilo который полностью помещается в MBR.

а зачем помещать boot раздел

а зачем помещать boot раздел на RAID или LVM (особенно LVM)??? О_о

Я прошу прощения за оффтоп и

Я прошу прощения за оффтоп и нубский вопрос, но как удалить Lilo?
Попробовал emerge -C lilo, пакет вроде был удален, по крайней мери 2-ой раз ничего не нашлось. lilo.conf я затер, но все равно грузится Lilo(

Переписать грабом? Или

Переписать грабом? Или затереть нулями MBR(512 байт) через dd?

Нейтральность - высшее достижение сознания!

Переписал грабом. Спасибо, с

Переписал грабом. Спасибо, с ним я разобрался) Осталось разобраться с ядром)) Чет я не могу найти где в ядре включается поддержка libata... Подскажите плз.

Device Drivers ---> <*>

Device Drivers  --->
  <*> Serial ATA (prod) and Parallel ATA (experimental) drivers  ---> 

Искать там или это и есть

Искать там или это и есть libata? Если это оно и есть, то оно давно было вкомпилено и в /boot/grub/device.map жесткий диск прописан как /dev/hda, и тот благополучно грузится...

это оно и есть ;-) не знаю,

это оно и есть ;-)

не знаю, что у вас в /boot/grub/device.map, но я ставил граб так: grub-install /dev/sda ... вроде так ))) главное, чтобы в грабе custom-cflags юз-флаг был выключен, иначе ошибки будут типа "hd(128,14800000) not found" или как-то так ;-)

Всем огромное спасибо. По

Всем огромное спасибо. По поводу grub-install /dev/sdb(по разбивке понял что в ядре так определился мой IDE жесткий), это как раз оказалось не важным, т.к. при изменении /boot/grub/device.map как

Цитата:
hd0 /dev/sda
hd1 /dev/sdb
hd2 /dev/sdc

Писало что /dev/sdb Unknown device. При попытке опросить биос: grub-install --recheck /dev/sdb, grub скидывал по дефолту все что я написал в /boot/grub/device.map, Т.е. установить граб на /dev/sdb как бы не удавалась, не дает ядро с livecd. К счастью этого и не понадобилось, после того как изменил /etc/fstab и /boot/grub/grub.conf на /dev/sdb все заработало, правда отказываются грузится иксы, NVIDIA драйверы мозг парят, но это как говорится "совсем другая история":) Еще раз всем огромное СПАСИБО:)

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

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