# [SOLVED] VFS cannot open root device "sda3" or unknown-blo

## galandilias

Czesc,

Utknalem podczas instalacji zgodnie z handbookiem na uruchomieniu mojej kompilacji :[ komunikat podczas uruchamiania:

```
VFS: Cannot open root device "sda3" or unknown-block(2,0)

Please append a correct "root=" boot option; here are the available partitions:

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

```

to available partitions: mnie martwi ze jest puste :/

nizej troche konfiguracji:

info z fdisk:

```
Disk identifier: 0x001c2022

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048       67583       32768   83  Linux

/dev/sda2           67584     2164735     1048576   82  Linux swap / Solaris

/dev/sda3         2164736    31326207    14580736   83  Linux

```

fstab:

```
/dev/sda1               /boot           ext3            defaults,noatime        1 2

/dev/sda2               none            swap            sw              0 0

/dev/sda3               /               ext3            noatime         0 1

proc                    /proc           proc            defaults        0 0

```

grub.conf:

```
# Which listing to boot as default. 0 is the first, 1 the second etc.

default 0

timeout 10

splashimage=(hd0,0)/grub/splash.xpm.gz

title Gentoo Linux 2.6.34-r1

root (hd0,0)

kernel /boot/kernel-via_c7_rev01 root=/dev/sda3

title Gentoo Linux 2.6.34-r1 (rescue)

root (hd0,0)

kernel /boot/kernel-via_c7_rev01 root=/dev/sda3 init=/bin/bb

```

...tak jak w handbook :/

dla pewnosci katalog /boot:

```

lrwxrwxrwx 1 root root       1 Jul  2 18:14 boot -> .

drwxr-xr-x 2 root root    1024 Jul  3 03:56 grub

-rw-r--r-- 1 root root 3226832 Jul  2 16:16 kernel-via_c7_rev01

drwx------ 2 root root   12288 Jul  2 13:51 lost+found

```

i katalog /boot/grub:

```
-rw-r--r-- 1 root root    197 Jul  3 03:56 default

-rw-r--r-- 1 root root     47 Jul  3 09:07 device.map

-rw-r--r-- 1 root root   8780 Jul  3 03:56 e2fs_stage1_5

-rw-r--r-- 1 root root   7912 Jul  3 03:56 fat_stage1_5

-rw-r--r-- 1 root root   7184 Jul  3 03:56 ffs_stage1_5

-rw-r--r-- 1 root root   1002 Jul  3 10:05 grub.conf

-rw-r--r-- 1 root root   7180 Jul  3 03:56 iso9660_stage1_5

-rw-r--r-- 1 root root   8648 Jul  3 03:56 jfs_stage1_5

lrwxrwxrwx 1 root root      9 Jul  2 18:14 menu.lst -> grub.conf

-rw-r--r-- 1 root root   7380 Jul  3 03:56 minix_stage1_5

-rw-r--r-- 1 root root   9744 Jul  3 03:56 reiserfs_stage1_5

-rw-r--r-- 1 root root  33856 Jul  3 03:52 splash.xpm.gz

-rw-r--r-- 1 root root    512 Jul  3 03:56 stage1

-rw-r--r-- 1 root root 107608 Jul  3 03:56 stage2

-rw-r--r-- 1 root root 107608 Jul  2 19:01 stage2.old

-rw-r--r-- 1 root root 107608 Jul  3 03:52 stage2_eltorito

-rw-r--r-- 1 root root   7452 Jul  3 03:56 ufs2_stage1_5

-rw-r--r-- 1 root root   6804 Jul  3 03:56 vstafs_stage1_5

-rw-r--r-- 1 root root   9596 Jul  3 03:56 xfs_stage1_5

```

.config ktorym skompilowalem kernel (dlugi ale moze cos mialem wlaczyc extra):

http://goo.gl/WYf1U

konfiguracja sprzetowa z lspci:

```
00:00.0 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

00:00.1 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

00:00.2 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

00:00.3 Host bridge: VIA Technologies, Inc. PT890 Host Bridge

00:00.4 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

00:00.7 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237/VX700 PCI Bridge

00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)

00:0f.0 IDE interface: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)

00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)

00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)

01:00.0 VGA compatible controller: VIA Technologies, Inc. CN700/P4M800 Pro/P4M800 CE/VN800 [S3 UniChrome Pro] 
```

GRUB poprawnie odczytuje splashimage, menu tez jest poprawne, a po wyborze opcji dostaje kernel panic... :/

Pomozcie bo po przeszukaniu kilku forow juz po malu trace nadzieje :/Last edited by galandilias on Tue Jul 05, 2011 8:07 pm; edited 1 time in total

----------

## Jacekalex

 *galandilias wrote:*   

> Czesc,
> 
> Utknalem podczas instalacji zgodnie z handbookiem na uruchomieniu mojej kompilacji :[ komunikat podczas uruchamiania:
> 
> ```
> ...

 

Podobny komunikat wystęuje zazwyczaj w dwóch przypadkach:

1. Kernel nie ma sterownika do danego systemu plików (albo jest skompilowany jako moduł, ale nie jest załadowany, i nie ma go w initrd.

2. Kernel nie ma dostępu do sterownika kontrolera dysku, moduł nie znajduje się ani w kernelu, ani w initrd.

A żeby załadować sterownik z /lib/modules/`uname -r`/* - najpierw musi zamontować partycję root, czego bez tych 2 sterowników zrobić nie potrafi. W ten sposób koło się zamyka.

Radzilbym sterownik kontrolera i modul systemu plików wbudować na stałe w jajo, powinno pomóc.

Sznurek:

http://kmuto.jp/debian/hcl/

I wynik:

```
lspci -k | egrep -i 'driver|modules'
```

Tak sprawdzisz moduły.

To by było na tyle

 :Cool: Last edited by Jacekalex on Sun Aug 14, 2011 12:18 am; edited 2 times in total

----------

## galandilias

stronka ktora podales fajna - dodalem do kompilacji kilka sterownikow - generalnie nie mam modolow - wszystko dalem w jajo - dalej niestety to samo :/

```
lspci -k | egrep -i 'driver|modules'
```

nie zwraca mi nic

----------

## Jacekalex

A w ogóle masz polecenie lspci w systemie?

Bo np u mnie:

```
root  # lspci -k | egrep -i 'driver|modules'

   Kernel driver in use: pcieport

   Kernel driver in use: uhci_hcd

   Kernel driver in use: uhci_hcd

   Kernel driver in use: uhci_hcd

   Kernel driver in use: ehci_hcd

   Kernel driver in use: HDA Intel

   Kernel driver in use: pcieport

   Kernel driver in use: pcieport

   Kernel driver in use: pcieport

   Kernel driver in use: uhci_hcd

   Kernel driver in use: uhci_hcd

   Kernel driver in use: uhci_hcd

   Kernel driver in use: ehci_hcd

   Kernel driver in use: ahci

   Kernel driver in use: i801_smbus

   Kernel driver in use: nvidia

   Kernel driver in use: r8169

   Kernel driver in use: cx8800

   Kernel driver in use: cx88_audio

   Kernel driver in use: cx88-mpeg driver manager

   Kernel driver in use: 3c59x
```

Takiego wyniku nie nazwałbym niczym   :Twisted Evil: 

----------

## galandilias

bez grepowania zwraca wynik  :Smile:  takze chba dziala  :Wink: 

```
00:00.0 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

        Subsystem: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

        Flags: bus master, 66MHz, medium devsel, latency 8

        Memory at e8000000 (32-bit, prefetchable) [size=128M]

        Capabilities: [80] AGP version 3.5

        Capabilities: [50] Power Management version 2

00:00.1 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

        Flags: bus master, medium devsel, latency 0

00:00.2 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

        Flags: bus master, medium devsel, latency 0

00:00.3 Host bridge: VIA Technologies, Inc. PT890 Host Bridge

        Flags: bus master, medium devsel, latency 0

00:00.4 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

        Flags: bus master, medium devsel, latency 0

00:00.7 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge

        Flags: bus master, medium devsel, latency 0

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237/VX700 PCI Bridge (prog-if 00 [Normal decode])

        Flags: bus master, 66MHz, medium devsel, latency 0

        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0

        I/O behind bridge: 0000e000-0000efff

        Memory behind bridge: fb000000-fcffffff

        Prefetchable memory behind bridge: f4000000-f7ffffff

        Capabilities: [70] Power Management version 2

00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)

        Subsystem: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet

        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 17

        I/O ports at f200 [size=256]

        Memory at fdfff000 (32-bit, non-prefetchable) [size=256]

        [virtual] Expansion ROM at 3bf00000 [disabled] [size=128K]

        Capabilities: [dc] Power Management version 2

00:0f.0 IDE interface: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80) (prog-if 8f [Master SecP SecO PriP PriO])

        Subsystem: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller

        Flags: bus master, medium devsel, latency 32, IRQ 20

        I/O ports at ff00 [size=8]

        I/O ports at fe00 [size=4]

        I/O ports at fd00 [size=8]

        I/O ports at fc00 [size=4]

        I/O ports at fb00 [size=16]

        I/O ports at f400 [size=256]

        Capabilities: [c0] Power Management version 2

00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])

        Subsystem: VIA Technologies, Inc. VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE

        Flags: bus master, medium devsel, latency 32, IRQ 20

        [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8]

        [virtual] Memory at 000003f0 (type 3, non-prefetchable)

        [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8]

        [virtual] Memory at 00000370 (type 3, non-prefetchable)

        I/O ports at fa00 [size=16]

        Capabilities: [c0] Power Management version 2

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI])

        Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller

        Flags: bus master, medium devsel, latency 32, IRQ 21

        I/O ports at f900 [size=32]

        Capabilities: [80] Power Management version 2

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI])

        Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller

        Flags: bus master, medium devsel, latency 32, IRQ 21

        I/O ports at f800 [size=32]

        Capabilities: [80] Power Management version 2

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI])

        Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller

        Flags: bus master, medium devsel, latency 32, IRQ 21

        I/O ports at f700 [size=32]

        Capabilities: [80] Power Management version 2

00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI])

        Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller

        Flags: bus master, medium devsel, latency 32, IRQ 21

        I/O ports at f600 [size=32]

        Capabilities: [80] Power Management version 2

00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86) (prog-if 20 [EHCI])

        Subsystem: VIA Technologies, Inc. USB 2.0

        Flags: bus master, medium devsel, latency 32, IRQ 21

        Memory at fdffe000 (32-bit, non-prefetchable) [size=256]

        Capabilities: [80] Power Management version 2

00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]

        Subsystem: VIA Technologies, Inc. DFI KT600-AL / Soltek SL-B9D-FGR Motherboard

        Flags: bus master, stepping, medium devsel, latency 0

        Capabilities: [c0] Power Management version 2

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)

        Subsystem: VIA Technologies, Inc. K7VT2 motherboard

        Flags: medium devsel, IRQ 22

        I/O ports at f000 [size=256]

        Capabilities: [c0] Power Management version 2

01:00.0 VGA compatible controller: VIA Technologies, Inc. CN700/P4M800 Pro/P4M800 CE/VN800 [S3 UniChrome Pro] (rev 01) (prog-if 00 [VGA controller])

        Subsystem: VIA Technologies, Inc. CN700/P4M800 Pro/P4M800 CE/VN800 [S3 UniChrome Pro]

        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 10

        Memory at f4000000 (32-bit, prefetchable) [size=64M]

        Memory at fb000000 (32-bit, non-prefetchable) [size=16M]

        [virtual] Expansion ROM at fc000000 [disabled] [size=64K]

        Capabilities: [60] Power Management version 2

        Capabilities: [70] AGP version 3.0

```

----------

## galandilias

grr - obcielo - w kazdym razie pusto nie jest  :Smile: 

btw. lspci odpalalem po chroot z pena instalacyjnego

----------

## Jacekalex

 *galandilias wrote:*   

> grr - obcielo - w kazdym razie pusto nie jest 
> 
> btw. lspci odpalalem po chroot z pena instalacyjnego

 

Lspci odpal na uruchomionym systemie, a nie w chroot.

Moduły kernela są we wszystkich Linuxach takie same.

Jak zrobisz prawidłowy konfig kernela, to możesz go używać we wszystkich dystrybucjach.

Np mój fruwał między Ubuntu, Gentoo i Debianem, i wszędzie po kompilacji kernela (na tym konfigu), wszystko działa tak samo.

Sznurek: 

http://forum.dug.net.pl/viewtopic.php?pid=153575#p153575

To by było na tyle

 :Cool: 

----------

## galandilias

a widzisz  :Smile: 

```
   Kernel driver in use: agpgart-via

   Kernel modules: shpchp

   Kernel driver in use: r8169

   Kernel modules: r8169

   Kernel driver in use: sata_via

   Kernel modules: sata_via

   Kernel driver in use: pata_via

   Kernel modules: pata_via

   Kernel driver in use: uhci_hcd

   Kernel driver in use: uhci_hcd

   Kernel driver in use: uhci_hcd

   Kernel driver in use: uhci_hcd

   Kernel driver in use: ehci_hcd

   Kernel modules: i2c-viapro

   Kernel driver in use: VIA 82xx Audio

   Kernel modules: snd-via82xx

   Kernel modules: viafb

```

jakby lepiej  :Smile:  biore sie znow za kompilacje w takim razie  :Smile: 

----------

## galandilias

ok - kernel panic juz nie leci - albo go nie widze  :Smile:  teraz utknalem krok dalej jak sadze  :Smile: 

przewija mi sie ekran z monitami wykrywanych urzadzen USB - w koncu staje i zachecajaco na dole miga prompt  :Smile:  tylko nic nie moge pisac  :Smile:  za to jak odepne mysz USB to sie znow przewija ze mysz odpieta - jak podepne to kolejne info leci ze podpieta - skad tu wytrzasnac BASH?  :Smile: 

odpialem mysz i klawe USB zeby mi nie smiecily w komunikatach i mam takie cos:

wczesniej zadnych bledow - ale widze tylko 80 linii :/ md konczy wykrywanie maciezy

```
[...] md: ... autorun DONE.

[...] EXT3-fs (sda3): mounted filesystem with writeback data mode

[...] VFS: Mounted root (ext3 filesystem) readonly on device 8:3

[...] Freeing unused kernel memory: 408k freed

[...] Write protecting the kernel text: 4208k

[...] Write protecting the kernel read-only data: 1536k

[...] init-early.sh used greatest stack depth: 5968 bytes left
```

... i tu sie logowanie konczy chyba ze cos zaczne mieszac przy urzadzeniach usb  :Smile: 

----------

## galandilias

http://www.linuxquestions.org/questions/gentoo-87/booting-stops-after-kernel-starts-883031/

ok - ten problem rozwiazalem tu  :Smile: 

----------

## SlashBeast

udeva nie miales w runlevelu?

----------

## galandilias

robilem z hanbookiem angielskim i tam nie bylo o tym ani slowa... :/ to jest oczywiste? :>

----------

## SlashBeast

stage3 winno miec udeva w sysinit runlevelu od kopa, jak nie, to jest to bug wielki jak stodola. (jestes juz ktoras osoba ktora nie miala udeva w runlevelu). Pobieram sobie stage3 i sprawdze czy tam jest.

----------

## galandilias

jako swierzak nie mieszalem na wlasna reke za bardzo nic  :Smile:  takze hm... pewnie go tam nie bylo

btw. jak napisales  *Quote:*   

> udeva nie miales w runlevelu?

  to tylko mi sie mordka usmiechnela  :Smile:  niby informatyk ale nie rozumiem co piszesz  :Very Happy: 

----------

## SlashBeast

Zglosilem to, dawno nie widzialem takiego faila.

https://bugs.gentoo.org/show_bug.cgi?id=374179

----------

## galandilias

o widzisz - to mnie pocieszyles  :Smile:  bo juz cierpliwosc tracilem z ta instalacja  :Smile: 

----------

## Pryka

@galandilias Powinieneś mieć udev w /etc/runlevels/sysinit  :Smile: 

Czy tam na liście w sekcji sysinit po wydaniu polecenia rc-update

@SlashBeast Ładnie pocisnęli  :Smile: 

----------

## galandilias

oki oki  :Smile:  szybko sie ucze  :Smile:  ale pewnie jeszcze nie raz bede pytal  :Smile: 

Dzieki Panowie  :Smile: 

----------

## galandilias

http://www.gentoo.org/doc/en/udev-guide.xml <_ tu w sekcji known issues jest to samo, powiedzcie mi jeszcze - jak releasowany jest stage? Przy instalacji bralem current a byl z 14.06.2011 w zgloszeniu SlashBeast'a chlopaki pisza o buildzie z 25.06.2011 i to tylko amd64 - stage nie wychodza rowno na wszystkie platformy? Skad ta data 25.06.2011?

----------

## Pryka

Ja teraz zaglądam i amd64 current jest z pierwszego tego miesiąca 01.07.2011

x86 jest sprzed miesiąca a dokładniej 15.06.2011

Miszmasz jak wyjdzie, nie ma chyba sztywnych dat, nigdy nie interesowałem się tym, ale można nawet to zauważyć przy wydawaniu LiveDVD, reguła When its done

Tyle, że jak już wychodzi tarball to razem z minimalCD i wersją hardened.

----------

## Jacekalex

A u mnie ciekawa sprawa:

Właśnie zauważyłem, że w ogóle nie mam udeva w sysinit, ale w boot, a system wstaje normalnie:

```
root  # ls -l /etc/runlevels/sysinit

razem 0

lrwxrwxrwx. 1 root root 17 05-30 07:53 devfs -> /etc/init.d/devfs

lrwxrwxrwx. 1 root root 17 05-30 07:53 dmesg -> /etc/init.d/dmesg
```

```
root  # rc-update show | grep udev

                 udev | boot                         

       udev-postmount |      default 
```

O ile pamiętam, nic nie zmieniałem w runlevelu sysinit, od rozpakowania stage,

-  od ostatniej instalacji (pod koniec maja).

Wygląda na to, że do podniesienia systemu devfs wystarcza w zupełności.

Pozdrawiam

 :Cool: 

----------

## SlashBeast

nie, devfs nie wystarczy w zupelnosci.

Pewnie masz w kernelu devtmpfs i wlaczone automontowanie go do /dev przy boocie.

----------

## Jacekalex

Zgadza się, konfig kernela ostał się z eksperymentów z systemem bez udeva.

```
zgrep -i devtmp /proc/config.gz 

CONFIG_DEVTMPFS=y

CONFIG_DEVTMPFS_MOUNT=y
```

Pozdrawiam

 :Cool: 

----------

