Kernel 2.6.37 -> Unable to mount root fs on unknown block

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Warlock
Beiträge: 6
Registriert: 17.02.2011 07:26:23

Kernel 2.6.37 -> Unable to mount root fs on unknown block

Beitrag von Warlock » 17.02.2011 08:05:21

Hallo zusammen,

ich habe Probleme mit dem Kernel 2.6.37 und Debian Squeeze Stable, das System bootet nicht mit dem neuen Kernel (Kernel Panic - not syncing: VFS Unable to mount root fs on unknown block on (0,0)).
Ich benötige den neueren Kernel, da im alten Kernel die Unterstützung für die Grafikkarte (Intel GMA 3150) und für einen Temperatursensor (Nuvoton W83667HG-B Super IO Sensors, ehemals Winbond) fehlt.
Alternativ wäre mir auch geholfen, wenn ich für den 2.6.32er die beiden eben genannten irgendwie einbinden/ergänzen könnte oder den notwendigen Treiber installieren.

Folgender Zustand:
  • System: Debian Squeeze Stable mit Standard-Kernel 2.6.32 läuft und bootet
  • Selbst-kompilierter Kernel 2.6.37 (Download von kernel.org) bootet nicht -> Kernel Panic - not syncing: VFS Unable to mount root fs on unknown block on (0,0)
  • Meine Vermutung war, dass noch irgendein Treiber fehlt, um das Root-Dateisystem mounten zu können
  • Hardware: Mainboard ZOTAC NM10-B-E, 4x 2TB HDD
  • 2 Platten mit Software-Raid, Partitionen sind: 1 MB Partition Reservierter Bios Boot Bereich (/dev/sdb1, /dev/sdc1), 46 GB RAID (/dev/sdb2, /dev/sdc2), 4 GB Swap (/dev/sdb3, /dev/sdc3), Rest (/dev/sdb4, /dev/sdc4)
  • Bootloader: Grub 2
RAID:

Code: Alles auswählen

# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdb4[0] sdc4[1]
      1904684279 blocks super 1.2 [2/2] [UU]

md1 : active (auto-read-only) raid1 sdb3[0] sdc3[1]
      3905214 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sdb2[0] sdc2[1]
      44920779 blocks super 1.2 [2/2] [UU]

unused devices: <none>
Weiterhin sind alle Partitionen im Raid gesynct, die folgende Ausgabe bekomme ich analog für alle /dev/mdX:

Code: Alles auswählen

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Feb 15 20:52:34 2011
     Raid Level : raid1
     Array Size : 44920779 (42.84 GiB 46.00 GB)
  Used Dev Size : 44920779 (42.84 GiB 46.00 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Thu Feb 17 07:46:35 2011
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : server:0  (local to host server)
           UUID : cdec18ad:8138f935:ea0a6eb9:b4b5a7f9
         Events : 40

    Number   Major   Minor   RaidDevice State
       0       8       18        0      active sync   /dev/sdb2
       1       8       34        1      active sync   /dev/sdc2
Ich habe "lspci -nnk" ausgeführt und alle verwendeten Module des 2.6.32 in der neuen Kernel-Konfiguration aktiviert. Ausgabe von lspci -nnk:

Code: Alles auswählen

00:00.0 Host bridge [0600]: Intel Corporation N10 Family DMI Bridge [8086:a000] (rev 02)
        Subsystem: Intel Corporation N10 Family DMI Bridge [8086:a000]
        Kernel driver in use: agpgart-intel
00:02.0 VGA compatible controller [0300]: Intel Corporation N10 Family Integrated Graphics Controller [8086:a001] (rev 02)
        Subsystem: Intel Corporation N10 Family Integrated Graphics Controller [8086:a001]
        Kernel driver in use: i915
00:02.1 Display controller [0380]: Intel Corporation N10 Family Integrated Graphics Controller [8086:a002] (rev 02)
        Subsystem: Intel Corporation Device [8086:a001]
00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 02)
        Subsystem: PC Partner Limited Device [174b:174b]
        Kernel driver in use: HDA Intel
00:1c.0 PCI bridge [0604]: Intel Corporation N10/ICH 7 Family PCI Express Port 1 [8086:27d0] (rev 02)
        Kernel driver in use: pcieport
00:1c.3 PCI bridge [0604]: Intel Corporation N10/ICH 7 Family PCI Express Port 4 [8086:27d6] (rev 02)
        Kernel driver in use: pcieport
00:1d.0 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 [8086:27c8] (rev 02)
        Subsystem: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 [8086:27c8]
        Kernel driver in use: uhci_hcd
00:1d.1 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 [8086:27c9] (rev 02)
        Subsystem: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 [8086:27c9]
        Kernel driver in use: uhci_hcd
00:1d.2 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 [8086:27ca] (rev 02)
        Subsystem: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 [8086:27ca]
        Kernel driver in use: uhci_hcd
00:1d.3 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 [8086:27cb] (rev 02)
        Subsystem: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 [8086:27cb]
        Kernel driver in use: uhci_hcd
00:1d.7 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller [8086:27cc] (rev 02)
        Subsystem: Allied Telesis, Inc Device [0010:27cc]
        Kernel driver in use: ehci_hcd
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev e2)
00:1f.0 ISA bridge [0601]: Intel Corporation NM10 Family LPC Controller [8086:27bc] (rev 02)
        Subsystem: PC Partner Limited Device [174b:174b]
00:1f.2 IDE interface [0101]: Intel Corporation N10/ICH7 Family SATA IDE Controller [8086:27c0] (rev 02)
        Subsystem: PC Partner Limited Device [174b:174b]
        Kernel driver in use: ata_piix
00:1f.3 SMBus [0c05]: Intel Corporation N10/ICH 7 Family SMBus Controller [8086:27da] (rev 02)
        Subsystem: PC Partner Limited Device [174b:174b]
        Kernel driver in use: i801_smbus
01:00.0 SATA controller [0106]: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller [197b:2363] (rev 03)
        Subsystem: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller [197b:2363]
        Kernel driver in use: ahci
01:00.1 IDE interface [0101]: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller [197b:2363] (rev 03)
        Subsystem: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller [197b:2363]
        Kernel driver in use: pata_jmicron
02:00.0 Network controller [0280]: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)
        Subsystem: AzureWave Device [1a3b:1089]
        Kernel driver in use: ath9k
03:0b.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
        Subsystem: ZOTAC International (MCO) Ltd. Device [19da:8167]
        Kernel driver in use: r8169
Hat jemand irgendwelche Ideen, oder Tipps? Wäre für jede Hilfe dankbar.

Viele Grüße

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von Tintom » 17.02.2011 10:24:26

poste mal deine .config nach nopaste.
Evtl. (schneller) Workaround: Im Verzeichnis des .37er Kernels make allmodconfig ausführen (siehe make help), anschließend den Eintrag für Initrd + vga-framebuffer kontrollieren (muss/sollte fest eingebaut werden) und dann mit initrd neu bauen. Könnte u.U. etwas dauern, dafür sollte dann aber alles laufen.

Warlock
Beiträge: 6
Registriert: 17.02.2011 07:26:23

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von Warlock » 17.02.2011 10:48:09

Tintom hat geschrieben:poste mal deine .config nach nopaste.
Config hochgeladen unter: http://nopaste.info/cad08ebf4f.html
Tintom hat geschrieben:anschließend den Eintrag für Initrd + vga-framebuffer kontrollieren (muss/sollte fest eingebaut werden) und dann mit initrd neu bauen.
Ist mir nicht ganz klar...wo soll ich die Einträge kontrollieren? *UPDATE* :idea: ist klar, natürlich in der Kernel Konfiguration!, nut vga-framebuffer weiß ich nicht welche Option, s.u.
Habe bisher den Kernel erzeugt, anschließend die initrd mit folgendem Befehl erzeugt.

Code: Alles auswählen

mkinitramfs -o /boot/initrd.img-2.6.37 2.6.37
System.map habe ich aus dem Kernelquell-Verzeichnis kopiert.
Am Ende noch ein update-grub u. grub hat den neuen Kernel u. die initrd automatisch gefunden u. in die grub.cfg eingetragen.
Zuletzt geändert von Warlock am 17.02.2011 14:00:31, insgesamt 4-mal geändert.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von KBDCALLS » 17.02.2011 11:19:01

Tintom hat geschrieben:poste mal deine .config nach nopaste.
Evtl. (schneller) Workaround: Im Verzeichnis des .37er Kernels make allmodconfig ausführen (siehe make help), anschließend den Eintrag für Initrd + vga-framebuffer kontrollieren (muss/sollte fest eingebaut werden) und dann mit initrd neu bauen. Könnte u.U. etwas dauern, dafür sollte dann aber alles laufen.
Da wäre make localmodconfig sinnvoller.

Es werden nur die Module übernommen die aktuell geladen sind,
Bei Alsa scheint das nicht korrekt zu funktionieren. Muß mann dann noch etwas nacharbeiten die Konfig.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Warlock
Beiträge: 6
Registriert: 17.02.2011 07:26:23

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von Warlock » 17.02.2011 11:34:00

Bin leider kein Experte...-> bitte deswegen nochmal eine Nummer ausführlicher für mich: welche Schritte muss ich machen mit "make localmodconfig" und danach?

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von Tintom » 17.02.2011 12:07:19

KBDCALLS hat geschrieben:
Tintom hat geschrieben:poste mal deine .config nach nopaste.
Evtl. (schneller) Workaround: Im Verzeichnis des .37er Kernels make allmodconfig ausführen (siehe make help), anschließend den Eintrag für Initrd + vga-framebuffer kontrollieren (muss/sollte fest eingebaut werden) und dann mit initrd neu bauen. Könnte u.U. etwas dauern, dafür sollte dann aber alles laufen.
Da wäre make localmodconfig sinnvoller.
Das stimmt, dann müsste der TE aber manuell das Modul des Temperatursensors auswählen:
Warlock hat geschrieben:Ich benötige den neueren Kernel, da im alten Kernel die Unterstützung für die Grafikkarte (Intel GMA 3150) und für einen Temperatursensor (Nuvoton W83667HG-B Super IO Sensors, ehemals Winbond) fehlt.

Benutzeravatar
TobiSGD
Beiträge: 539
Registriert: 28.06.2010 16:10:06
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Hannover

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von TobiSGD » 17.02.2011 12:12:26

Einfachste Lösung: Nimm einfach den 2.6.37 von Liquorix, kann ich eh nur empfehlen. http://liquorix.net/
Wenn dein System dann vernünftig läuft, kannst du deine Kernel-Kenntnisse ja immer noch erweitern und Problem mit deiner Konfiguration lösen.
Registered Linux User #501265
Workstation: Slackware64 -current XFCE
Laptop: Slackware64 -current XFCE
Server: Debian Squeeze i686 CLI

Warlock
Beiträge: 6
Registriert: 17.02.2011 07:26:23

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von Warlock » 17.02.2011 13:57:36

Die Option für Initrd war tatsächlich nicht aktiviert (# CONFIG_BLK_DEV_INITRD is not set)

Welche Option ist vga-framebuffer?
Mit framebuffer gibts nur die folgenden Optionen:

Code: Alles auswählen

CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y 
Parallel dazu werde ich dann
  • mit make localmodconfig probieren (die Option für den Temperatursensor finde ich ;-)
  • den Kernel von Liquorix versuchen.

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von Tintom » 17.02.2011 15:31:25

Warlock hat geschrieben: mit make localmodconfig probieren (die Option für den Temperatursensor finde ich ;-)
Entschuldige die indirekte Anrede, war nicht meine Absicht :wink:
Mit Framebuffer meine ich z.B. den hier: CONFIG_FB_VESA=y

Warlock
Beiträge: 6
Registriert: 17.02.2011 07:26:23

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von Warlock » 17.02.2011 17:16:35

Tintom hat geschrieben: Entschuldige die indirekte Anrede, war nicht meine Absicht :wink:
Mit Framebuffer meine ich z.B. den hier: CONFIG_FB_VESA=y
Kein Problem :wink:
Es geht weiter...
Booten ist noch nicht...jetzt kommt folgende Meldung:

Code: Alles auswählen

uvesafb: failed to execute /sbin/v86d
uvesafb: make sure that v86d helper is installed and executable
uvesafb: Getting VBEinfo block failed
uvesafb: vbe_init() failed with -22

mounting none on /dev/ failed: no such device
udevd: inotify failed. Function not implemented
*UPDATE* Dieser Fehler erscheint auch mit der .config, die mittels make localmodconfig erzeugt wurde.

Warlock
Beiträge: 6
Registriert: 17.02.2011 07:26:23

Re: Kernel 2.6.37 -> Unable to mount root fs on unknown bloc

Beitrag von Warlock » 17.02.2011 19:16:49

Die einzigste Lösung scheint der Liquorix-Kernel zu sein, damit läufts...
Ich frage mich dennoch, was das Problem bei dem selbst-kompilierten Kernel ist :?:

Vielen Dank schon mal an alle für die Hilfe :THX:

Antworten