# kann root-System nicht mounten

## Christoph Schnauß

hallo,

mich ärgert grade ein bisher unbekanntes Problem. Ich mußte einen neuen Kernel bauen, der startet auch, aber dann gibt es eine Fehlermeldung, daß er das Root-System nicht mounten kann. Ich lande an einem kleinen Prompt, an dem außer ls fast nichts andres möglich ist. Klar, wenn nichts gemounted wurde, stehen halt keine Programme und Konsolenbefehle zur Verfügung.

Ich habe mein System mit ext4 formatiert, in der fstab sieht die relevante Zeile so aus:

```
/dev/sdb1          /         ext4      rw            0 0
```

Das hat früher schonmal tadellos funktioniert. Jetzt wird aber irgendwas von "incompatibilies" gemeckert. Eine reguläre Kernel panic ist das nicht. Vermutlich habe ich irgendwas beim Kernelbau vermasselt, ich finde nur nicht heraus, was. Unterstützung für ext4 ist drin im Kernel. Hat jemand eine Idee, was da los sein könnte?

Logs stehen mir (noch) nicht zur Verfügung, da scheint zwar was vorhanden zu sein, aber ich komme noch nicht ran.

----------

## Max Steel

Wenn der Kernel das nicht hinbekommt dann schau doch mal ob sich evtl durch irgendeine Änderung in der Festplattenreihenfolge etwas verändert hat (wenn deine System-festplatte z.B. eine IDE Platte ist und du eine SATA Platte dazuhängst verschiebt sich die System-Platte um 1 Position.

----------

## Christoph Schnauß

Nein, an den Platten hatte sich nichts geändert, es stecken zwei SATA-Platten in diesem Rechner.

Inzwischen habe ich nochmal einen neuen Kernel gebaut und die Dateisysteme (ext2, ext3 und ext4) fest in den Kernel geschrieben, also nicht als Modul. Das hat zumindest teilweise geholfen, jetzt wird gemountet. Allerdings ist immer noch etwas Entscheidendes unvollständig: ich bekomme kein login, kann mich nicht mit dem Paßwort anmelden, sondern lande immer nur an einem kleinen Prompt. Längst nicht alle Programme und Konsolenbefehle sind verfügbar. Es fehlt wohl noch irgendwas für die Konsole, aber was?

Logs habe ich immer noch nicht, sorry.

----------

## py-ro

Du bist vermutlich in der initrd und nicht im System. Hast du die initrd passend zum kernel neugebaut? Per Hand oder z.B. mit genkernel?

Bye

Py

----------

## Christoph Schnauß

 *py-ro wrote:*   

> Du bist vermutlich in der initrd und nicht im System. Hast du die initrd passend zum kernel neugebaut? Per Hand oder z.B. mit genkernel?

 

Nein, es gibt keine initrd, war auch zuvor nicht zwingend nötig. Ich habe auch nicht genkernel genommen - das werde ich aber jetzt als letztes Mittel noch probieren.

----------

## py-ro

Deine Beschreibung schreit nach Busybox, bzw. initrd, die kann auch fest im Kernel eingebaut sein.

----------

## Christoph Schnauß

 *py-ro wrote:*   

> Deine Beschreibung schreit nach Busybox, bzw. initrd, die kann auch fest im Kernel eingebaut sein.

 

Naja, genkernel kann eine initrd automatisch bauen. Ich benutze sonst die vanilla-sources, und eine initrd war vorher nicht zwingend nötig, es ging problemlos auch ohne. Ich mußte wegen eines neuen Ethernet-Chips aber einen neuen Kernel bauen, weil ich vorher keine Realtek-Treiber hatte und brauchte. Und irgendwas habe ich dabei halt übersehen.

----------

## Christoph Schnauß

ähm ... genkernel bestraft mich mit einer prima kernel panic. Wie üblich: ich soll das korrekte root-Dateisystem angeben. Hab ich eigentlich. Auch die initrd, die genkernel gebaut hat, steht in der grub.conf. 

*kopfkratz*

----------

## fuchur

Hi

Hast du den den alten Kernel noch bzw. die alte .config ? Wenn ja

```

cd /usr/src/linux

make clean

make mrproper
```

alte .config nach /usr/src/linux kopieren und 

```
make oldconfig
```

 ausführen.

Fragen dann überprüfen und danach noch einmal versuchen den Kernel zu bauen.

Wenn du die alte config nicht mehr hast solltest du diese unter "/proc/config.gz" finden wenn du den alten Kernel

bootest (falls du das im Kernel nicht abgeschaltet hast)  und musst die nur noch mit gunzip entpacken.

MfG

----------

## Christoph Schnauß

 *fuchur wrote:*   

> Hast du den den alten Kernel noch bzw. die alte .config

 

Habe ich, diesen Trick kenne ich. Ich habe jetzt in der grub.conf mal die neue initrd (die genkernel gebaut hat) zusätzlich eingetragen. Das Ergebnis: ich lande immer noch nicht am login, sondern in einer kleinen Shell (ash), die wenigstens ein paar Hinweise gibt. Danach scheint mein Dateisystem nicht valide zu sein. Irgendwas klappt also mit der Erkennung von ext4 nicht. Ich habe keine extra-Partition für /boot vorgesehen, sondern die gesamte Partition für das gesamte System mit ext4 formatiert. 

Kann aber auch sein, daß das Journal beschädigt ist, weil ich zu oft einfach abbrechen mußte und mir kein ordentliches Herunterfahren möglich war. fsck kann ich aber in diesem Zustand auch nicht laufen lassen.

Ist schon sehr eigenartig: so lange habe ich noch nie gebraucht, einen zuverlässigen Kernel zu bauen. Hat sich am init-Vorgang irgendwas geändert für die jeweils aktuellen Kernelquellen?

----------

## fuchur

Hi

 *Christoph Schnauß wrote:*   

> ...
> 
> Kann aber auch sein, daß das Journal beschädigt ist, weil ich zu oft einfach abbrechen mußte und mir kein ordentliches Herunterfahren möglich war. fsck kann ich aber in diesem Zustand auch nicht laufen lassen.
> 
> Ist schon sehr eigenartig: so lange habe ich noch nie gebraucht, einen zuverlässigen Kernel zu bauen. Hat sich am init-Vorgang irgendwas geändert für die jeweils aktuellen Kernelquellen?

 

Dein filesystem kannst du von einer Livecd oder Livestick testen. Ansonsten wird es schwer dir zu helfen wenn du nicht alle wichtigen

Dateien zu Verfügung stellst (grub.conf fstab alte und neu .config) vielleicht findet ja irgend wer den Fehler.

MfG

----------

## fuchur

Hi

Noch etwas als LiveCd/stick entfielt sich " http://www.sysresccd.org/Hauptseite".

Basiert auch auf gentoo und da kannst du ja mal nachschauen wie die das gemacht

haben und welche module bei deinem System geladen werden wenn du das Livesystem

bootest.

MfG

----------

