Kernel config setzt "falsche" root-Partition

S

Sharoz

Mitglied
Einen wunderschönen guten morgen!

Also, da ich anscheinend zu blöd bin, um für dieses Problem per Google eine Lösung zu finden, bitte ich jetzt euch um Rat.
Ich habe mir ein wunderschönes Gentoo auf den Rechner gespielt. Klappte auch alles prima, bis ich zur Kernelkompilation kam, von der ich bis dato noch nicht allzu viel Ahnung hatte. Und wie sollte es schon kommen? Kernel kompiliert nach einigem hin und her, aber er bootet nicht. (vgl: hier)

Wiederum nach einigem vor und zurück, habe ich immerhin das Problem erkannt. Die Gentoo-CD (Also der genkernel, den ich momentan auch nutze, aber nicht, dass ist, was ich will) hängt meine SATA-Platte auf /dev/sdb, wobei meine Partition /dev/sdb7 ist. Meine selbst kompilierten Kernel halten dass etwas anders. Da landet meine Platte auf sda bzw. sda7.

Und da dass auch irgentwo im Kernel steht, bin ich jetzt etwas aufgeschmissen. Denn Grub gebe ich root=/dev/sda7 mit, und der Kernel meckert, dass er sd_b_7 nicht finden kann.

So weit zu meinem Problem. Wie sage ich meinem Kernel bei der Konfiguration, dass er /dev/sda7 als root nehmen soll?

Wenn noch eine Information fehlt, fragt einfach ;-)

Also dann hoffe ich mich vieler schöner Antworten erfreuen zu dürfen!
Sharoz

PS:
sd[ab]7 ist ext3 /
sd[ab]8 ist swap swap
boot ist in ext3 / (Also keine extra Partition)
 
Ich denke, dass die rootPartition nicht im Kernel verankert ist. Das waere ziemlich unnoetig. Ausserdem haetten dann die verschiedenen Distributionen ziemliche Probleme, um auf Hardware zu installieren, die sie nicht kennen.
Aber zum Problem.
Wo liegt Dein Kernel? Bei mir liegt er unter /boot/vmlinuz-2.6.18, wobei boot keine eigene Partition ist. Also merk Dir den Pfad und namen Deines Kernels.

Dann bootest Du neu, und wenn das Grub-menu erscheint, gibt Du
c
ein. Damit kommst Du zur Grub-shell.

Dort gibst Du dann
find /boot/vmlinuz-2.6.18
ein, wobei Du den Pfad und Namen an Dein System anpassen musst.
Wenn dann ein Ergebnis kommt (bei mir wird (hd0,0) ausgegeben), gibst Du
root (hd0,0)
kernel (hd0,0)/boot/vmlinuz-2.6.18
boot
ein. Das sollte Deinen Kernel booten.

Wenn es zu einer Diskrepanz zwischen der Installation und dem jetztigen System kommt, musst Du evtl. mithilfe einer boo-CD die /etc/fstab anpassen, bevor Du obige Schritte unternimmst.
 
Eine Frage vorweg...
hast du deinen Kernel auf gut Glück gebacken und auch einen blick in die Wiki geschaut?

Gruss
«oMeE»
 
Erstmal Danke, für die schnellen Antworten!

Ich habe dafür in viele Wiki's geschaut. Ob dieses dabei war, vermag ich jetzt nicht mehr genau zu sagen. Allerdings führte der Tipp von rikola bzgl der fstab zum Ziel. Vielen Dank dafür! Hätte man auch von selbst drauf kommen können...

Nunja, da mein Kernel auf jeden Fall allesandere als prima geworden ist (usb-hid tut es noch nicht) bedanke ich mich auch noch mal für den Link zum Wiki, der wird mir sicherlich weiterhelfen.

Also dann, Problem gelöst!

Einen schönen Sonntag wünsche ich euch!
Sharoz
 
Poste doch einfach mal Deine /boot/grub/grub.conf statt langer Erklärungen.Sollte bei genkernel ungefähr so aussehen:
Code:
title   Gentoo Linux 2.6.17-r8
root    (hd0,6)
kernel  /boot/kernel-genkernel-x86-2.6.17-gentoo-r8 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda7 vga=0x31A udev splash=verbose,theme:livecd-2006.0 CONSOLE=/dev/tty1
initrd  /boot/initramfs-genkernel-x86-2.6.17-gentoo-r8
Wichtig ist die erste "root"-Zeile,dort wird Grub-Syntax verwendet und gibt die /boot-Partition =(hd0,6) an.
In der "kernel"-Zeile dürfen die "root" und "real_root"-Eintrage nicht verwechselt werden."root" ist (wohl gemerkt:bei genkernel) immer root=/dev/ram0,"real_root" gibt dagegen die wahre Root-Partition an,also real_root=/dev/sda7

Außerdem müssen die Kernel -und Initrd-Bezeichnungen den Imagenamen entsprechen.Da kann man bei den langen Genkernelnamen auch mal schnell einen Fehler reinhauen.
 
Grub bootet den Genkernel ohne Probleme. Auch meinen eigenen bootet er. Nur die fstab war schuld. Die Kernel-Panic Fehlermeldung ließ mich aber darauf nicht schließen. Ich denke nicht, dass die grub.conf hier noch groß weiter geholfen hätte.
Und ja, der Eintrag des Genkernels sieht ziemlich genau so aus.

Aber wie gesagt, das Problem lag wo anders.
Trotzdem danke!

Sharoz
 
OK,die fstab ist meistens immer der zweite Kandidat als Fehlerquelle.
Schön dass alles funktioniert.:)
 
Wäre die Fehlerart wie das Thema lautet gewesen, sollte man mittels "rdev" das root device im Kernel ändern ohne den Kernel neu übersetzen zu müssen.

man rdev
 
Mhhh, ich dacht immer das informationen über die Partitionierung nicht fest irgendwo in den Kernel geschrieben werden. Wär doch auch Quatsch. Liegt das nicht allein am Grub und der fstab. Ok der Kernel sollte zumindest mal eine Unterstützung für z.b. die S-ATA Platte drinn haben, aber den juckt das doch nicht ob nun ein /dev/sda3 oder /dev/sda2 existiert. Oder sehe ich das falsch --Korrigiert mich....
 

Ähnliche Themen

Neue Partition unter openSUSE 12.2 erstellen

verschlüsselte Partition schreibbar für User mounten

Problem beim booten von nicht BIOS Festplatte

Kernel Panic Unable to mount root fs

Backup Skript automatisch ausführen mit udev

Zurück
Oben