# Gentoo findet beim Booten die Root-Partition nicht

## andreask

Hallo!

Habe gerade das erste mal versucht gentoo zu installieren, habe als Bootmedium Knoppix verwendet, da ich das hier rumliegen hatte. Der Rechner ist ein ziemlich alter Celeron 433 mit 64 MB RAM. Auf der Festplatte soll erstmal nur Gentoo laufen. Will da nur über SSH mit arbeiten, kein X...

Bin dann entsprechend der Installationsanleitung vorgegangen (das dachte ich zumindest), habe das stage3 Archiv für i686 verwendet.

Für den Kernel habe ich die vanilla-sources genommen.

Jedenfalls hat alles geklappt, habe genkernel verwendet also auch initrd, habe grub als bootloader eingerichtet und dann neu gestartet (also nachdem das Manual mich dazu aufforderte). 

Dann kam auch der entsprechende Schirm beim booten, das sah dann auch alles erstmal ganz gut aus, aber auf einmal stand da die Meldung, dass er (wer? grub? gentoo? woher weiß ich das?) die root-Partition nicht findet. dann sollte ich das device selber angeben, oder "shell" tippen. Habe erstmal ein bisschen rumprobiert (habe eigentlich überall die Standardeinstellungen der Doku verwendet), also mal /dev/hda3 eingegeben - ging nicht. Dann mal die grub-Variante /dev/hd2, ging auch nicht. Wobei mir gerade auffällt dass ich in der grub.conf bei root /dev/hda3 angegeben habe, aber das stand AFAIK auch so im Manual.

Naja, jetzt hänge ich irgendwie und weiß nicht mehr weiter. Wie sollte ich vorgehen um den Fehler genau zu lokalisieren?

Ich habe jetzt mit Knoppix gebootet, von CD, da habe ich ja jetzt nicht die gentoo-Umgebung. 

An welchen Stellen sollte ich vielleicht mal nachgucken, diesbezüglich?

Vielen Dank im voraus!

Grüße

Andreas 

PS: eine zusamtzfrage - braucht so ein x86 Rechner unbedingt eine funktionierende Grafikkarte um zu laufen, auch wenn ich nur über das Netzwerk drauf zugreife, also keinen Monitor anschließe? Die Grafikkarte ist nämlich defekt und zur Zeit arbeite ich mit der Grafikkarte meines normalen Desktops

----------

## didi666

guck mal hier:

https://forums.gentoo.org/viewtopic.php?t=126008

also vermutlich

kernel=kernel-x.y.z-gentoo root=/dev/ram0 real_root=/dev/hda3

Leider kommt dann bei mir danach eine andere Fehlermeldung, aber vielleicht gehts ja so bei dir  :Wink: 

zum PS: eigentlich braucht er keine, aber dann solltest du mal im BIOS gucken nach der Option "Halt on - all errors/no errors/keyboard" (oder so ähnlich) und natürlich auf "no errors" stellen...

----------

## andreask

Hallo!

Danke für den Hinweis, nur gilt das doch für Lilo, oder?

ich verwende Grub.

meine grub.conf sieht in etwa so aus:

timeout 10

default 0

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

title=Gentoo Linux

root (hd0,0)

kernel (hd0,0)/kernel-2.4.24 root=/dev/hda3

initrd (hd0,0)/initrd-2.4.24

Dabei ist das ganze bei mir so partitioniert:

/dev/hda1 /boot

/dev/hda2 swap

/dev/hda3 /

in /boot liegen entsprechend die beiden Dateien kernel-2.4.24 und initrd-2.4.24

Ich habe am Kernel oder initrd nichts konfiguriert, ich habe einfach

"genkernel all" eingegeben und gewartet.

dann habe ich das grub-Paket per emerge installiert, und "grub" ausgeführt, darin dann:

grub> root (hd0,0)        

grub> setup (hd0)           

grub> quit                 

und dann die grub.conf wie oben beschrieben erzeugt.

Ich habe einfach überhaupt keine Idee wieso das nicht klappen könnte.

Viele Grüße

Andreas

----------

## boris64

wenn ich das richtig verstehe, weiss du nicht, welche 

partition deine root-partition ist

also, live-cd (oder knoppix-cd) rein, booten.

ein

```
fdisk -l
```

sollte dir alle deine partitionen anzeigen.

 :Arrow: 

```
Platte /dev/hda: 160.0 GByte, 160041885696 Byte

255 Köpfe, 63 Sektoren/Spuren, 19457 Zylinder

Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes

    Gerät Boot      Start         End      Blocks   Id  System

/dev/hda1   *           1          16      128488+  83  Linux

/dev/hda2              17         140      996030   82  Linux Swap

/dev/hda3             141        1385    10000462+  83  Linux

/dev/hda4            1386       19457   145163340   83  Linux
```

bei mir wäre (ist!) die richtige rootpartition /dev/hda3.

also steht in meiner grub.conf

	title gentoo GNU/linux (gui,standart)

	root (hd0,0)

	kernel (hd0,0)/vmlinuz root=/dev/hda3 vga=0x517 splash=verbose video=vesa:ywrap,mtrr hdc=ide-cd 5

	initrd (hd0,0)/initrd

nun musst du nur selbst wissen, welche partition deine root-partition ist.

dann musst du diese nur noch wie oben in der grub.conf in deiner kernelzeile angeben.

nachtrag:

 *Quote:*   

> Habe erstmal ein bisschen rumprobiert (habe eigentlich überall die Standardeinstellungen der Doku verwendet), also mal /dev/hda3 eingegeben - ging nicht. Dann mal die grub-Variante /dev/hd2, ging auch nicht. Wobei mir gerade auffällt dass ich in der grub.conf bei root /dev/hda3 angegeben habe, aber das stand AFAIK auch so im Manual.

 

du solltest schon selbst wissen, wie du deine festplatte partitioniert hast. 

da werden dir "grubvarianten(!?)" nicht wirklich weiterhelfen.

mfg

----------

## boris64

ok, vieles hat sich wohl gerade von selbst erledigt,

da du, während ich meine "geschichte" niedergeschrieben habe,

geantwortet hast  :Wink: 

wie genau ist denn deine fehlermeldung? (kernel panik weil "kann root-partition nicht finden"?)

 *Quote:*   

> PS: eine zusamtzfrage - braucht so ein x86 Rechner unbedingt eine funktionierende Grafikkarte um zu laufen, auch wenn ich nur über das Netzwerk drauf zugreife, also keinen Monitor anschließe? Die Grafikkarte ist nämlich defekt und zur Zeit arbeite ich mit der Grafikkarte meines normalen Desktops

 

s.o.didi666

+manche bios haben so einen extra grafikkartenunterpunkt.

graphiccard:

a) agp

b) pci

c) absent (nicht vorhanden-> das sollte dann deine option sein)

----------

## didi666

Oki, also bei mir bootet jetzt 2.4.22-gentoo-r5.

Mit grub.

Mit dem neuen genkernel.

Folgender Eintrag:

```
kernel /kernel-2.4.22-gentoo-r5 root=/dev/ram0 init=/linuxrc real_root=<deine root-part>
```

und dann eben deine root-partition eintragen (und deine sonstigen kernel-optionen) noch anfügen.

----------

## andreask

Also, beim nachlesen der Anleitung ist mit aufgefallen, dass ich doch glatt vergessen habe hotplug zu installieren, ich denke das könnte schon das problem sein, passt ja auch irgendwie. 

Von wegen Fehlermeldung - kann ich die später nicht irgendwo nachlesen? Es hieß dass die Root-Partition nicht gefunden werden kann, und ich die doch bitte manuell angeben soll oder "shell" tippen. Wie gesagt ging ersteres nicht, und "shell" führte mich in eine shell worin es eigentlich gar nichts gab und ich nicht wirklich wusste was ich da soll. 

Ich installiere gerade hotplug und gucke mal wie es jetzt damit läuft.

Bis dann  :Wink: 

Ach ja, ich bin mir nicht so sicher ob ich das alls richtig gemacht habe, von knoppix aus auf in mein gentoo-System zu wechseln.

ich habe folgendes gemacht:

```

# sudo passwd root

# su -

# exit

# su -

# mkdir /mnt/gentoo

# mount /dev/hda3 /mnt/gentoo

# mount /dev/hda1 /mnt/gentoo/boot

# mount -o bind /proc /mnt/gentoo/proc

# mount -o bind /dev /mnt/gentoo/dev

# chroot /mnt/gentoo /bin/bash

# env-update

# source /etc/profile

```

ist das so OK? Oder muss ich noch die Swap-Partition aktivieren? Leider ist die anscheinend von knoppix in Beschlag genommen worden.

btw. ich habe keine zusätzlichen Kernel-Module installiert.

Ach ja:

```

# fdisk -l

Platte /dev/hda: 4335 MByte, 4335206400 Byte

255 Köpfe, 63 Sektoren/Spuren, 527 Zylinder

Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes

     Gerät boot.  Anfang      Ende    Blöcke   Id  Dateisystemtyp

/dev/hda1   *         1         5     40131   83  Linux

/dev/hda2             6        68    506047+  82  Linux Swap

/dev/hda3            69       527   3686917+  83  Linux

```

grub.conf:

```

# Boot automatically after 10 secs.

timeout 10

# By default, boot the first entry.

default 0

# Fallback to the second entry.

#fallback 1

# Hintergrundbild

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

# For booting GNU/Linux

title  Gentoo Linux

root (hd0,0)

kernel (hd0,0)/kernel-2.4.24 root=/dev/hda3

initrd (hd0,0)/initrd-2.4.24

```

was ist eigentlich, wenn ich gar nicht auswählen will, sondern direkt gentoo starten?

Viele Grüße

AndreasLast edited by andreask on Mon Jan 19, 2004 3:07 pm; edited 2 times in total

----------

## andreask

So, bin jetzt mit gentoo und lznx unterwegs. Nur hat hotplug das Problem nicht behoben. Nur habe ich diesmal /dev/hda1 angegeben, und da wurde dann korrekt gebootet.

Der Fehler tritt bei Gentoo initrd startup... auf

STEP1 Command/line parsing

STEP2 Module loading

STEP3Mounting necessary fileszstems per boot option

started device management daemon

STEP4 determing root device

root block device unspecified or not detected

please specifz a device to boot or shell for shell

so, dann kann ich /dev/hda1 eingeben und gentoo bootet.

Wo kann das problem liegen

----------

## didi666

hast du denn jetzt schonmal probiert, statt

kernel (hd0,0)/kernel-2.4.24 root=/dev/hda3

dies einzugeben:

kernel (hd0,0)/kernel-2.4.24 root=/dev/ram0 init=/linuxrc real_root=/dev/hda3

?

----------

## andreask

Ja, gerade soeben. Das Resultat war ein Kernel Panic  :Wink: 

Was mir das ganze aber gezeigt hat, ist dass das Problem noch davor zu liegen scheint, denn bis zu der oben genannten Fehlermeldung (bei initrd startup STEP4) lief wieder alles identlich, wieder musste ich /dev/hda1 eingeben, und dann ging es weiter, bis

STEP 6: pivot_root and exec/chroot real init

/linuxrc: 285: test: not found

/linuxrc: 285: test: not found  

exec: 292 /sbin/init not found

KERNEL PANIC

Ich habe mich eh gewundert woher linuxrc kommen soll. Meine Installation ist im Prinzip komplett aus der Installations-Anleitung abgeschrieben. Ich habe eigentlich nichts verändert. 

Also aus irgendeinem Grund findet initrd nicht die boot-Partition, also /dev/hda1, was ich in der grub.conf ja mit root (hd0,0) IMHO korrekt angebe.

Ist auch etwas seltsam, denn initrd wird ja gestartet, "gentoo initrd starup...", und wenn initrd gefunden wird muss dem System ja bekannt sein wo die Boot-Partition liegt, eben weil initrd-2.4.24 ja genau dort drin liegt!

Seltsam...

Was auch komisch war, als ich gentoo gebootet habe, halt manuell /dev/hda1 angegeben, danach war das Verzeichnis /boot leer?! Musste ich erst manuell mounten. Dabei habe ich doch die /etc/fstab angepasst...

Also ich verstehe nicht was da los ist...

Grüße

Andreas

PS: bin jetzt wieder per knoppix online...

----------

## boris64

 *Quote:*   

> Was auch komisch war, als ich gentoo gebootet habe, halt manuell /dev/hda1 angegeben, danach war das Verzeichnis /boot leer?! Musste ich erst manuell mounten. Dabei habe ich doch die /etc/fstab angepasst... 

 

die /boot-partition wird nur beim booten gemountet und sicherheitshalber

nach dem bootvorgang wieder ausgehängt. so kann bei einem crash/stromausfall

dort kein datenverlust auftreten, was natürlich ärgerlich wäre, da das system dann

eventuell nicht mehr booten könnte/würde.

siehe auch /etc/fstab

/dev/hda1               /boot                   ext3            noauto,noatime

----------

## andreask

Hi!

Stimmt, das habe ich auch gerade in der Doku nochmal gelesen.

Aber ich find einfach keinen Fehler den ich noch gemacht haben könnte.

Ich meine, im prinzip funktioniert alles, ich muss "nur" an einer Stelle beim Booten, und zwar beim Starten von initrd, die boot-Partition angeben. Das heißt für mich, dass diese Partition irgendwo nicht korrekt angegeben ist - nur wo? Gibt es eine Konfigurations-Datei für initrd? Kann es überhaupt was mit dem Boot-Loader zu tun haben?

Oder kann ich das problem irgendwie weiter eingrenzen? Gibt es irgendwo relevante Log-daten? ich finde leider nichts, udn auch  nicht bei google wenn ich nach dem Fehler suche...

Viele Grüße

Andreas

----------

## andreask

Hallo nochmal.

Hier mal meine /etc/fstab, vielleicht ist da was falsch?

```

# /etc/fstab: static file system information.

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/fstab,v 1.12 2003/03/11 02:50:53 azarah Exp $

#

# noatime turns of atimes for increased performance (atimes normally aren't

# needed; notail increases performance of ReiserFS (at the expense of storage

# efficiency).  It's safe to drop the noatime options if you want and to

# switch between notail and tail freely.

# <fs>                  <mountpoint>    <type>          <opts>                  <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/hda1               /boot           ext2            noauto,noatime          1 2

/dev/hda2               none            swap            sw                      0 0

/dev/hda3               /               ext3            noatime                 0 1

/dev/cdroms/cdrom0      /mnt/cdrom      auto            noauto,user             0 0

# NOTE: The next line is critical for boot!

none                    /proc           proc            defaults                0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for

# POSIX shared memory (shm_open, shm_unlink).

# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will

#  use almost no memory if not populated with files)

# Adding the following line to /etc/fstab should take care of this:

none                    /dev/shm        tmpfs           defaults                0 0

```

und einmal die vollständige /boot/grub/grub.conf:

```

#

# boot menu configuration file

#

# default

default 0

# Boot automatically after 30 secs.

timeout 10

# Hintergrundbild

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

# For booting GNU/Linux

title=Gentoo Linux

root (hd0,0)

kernel (hd0,0)/boot/kernel-2.4.24 root=/dev/hda3

initrd (hd0,0)/boot/initrd-2.4.24

```

Also ich weiß einfach nicht weiter, ich habe auch mal ins englische Manual gesehen, und bisher allerdings keinen Unterschied gefunden.

Grüße

AndreasLast edited by andreask on Mon Jan 19, 2004 3:04 pm; edited 1 time in total

----------

## andreask

Äm, wird mir langsam fast peinlich  :Wink: 

Aber jetzt habe ich die Änderungen von vorhin wieder rückgängig gemacht (jetzt sieht es so aus wie im posting hierüber), und da bekomme ich denselben Fehler?! Hab das jetzt mal noch weiter abgeschrieben. ich komme also auf das Auswahl-Fenster von grub, wähle gentoo-linux, und dann startet der Boot-Vorgang, und wird beim Starten/Ablaufen von initrd unterprochen (STEP 4):

```

  Gentoo initrd startup... 

STEP 1: Command/line parsing 

STEP 2: Module loading 

STEP 3: Mounting necessary fileszstems per boot option 

  started device management daemon 

STEP 4: determining root device 

root block device unspecified or not detected 

please specify a device to boot or "shell" for shell

: 

```

>>> an dieser Stelle gebe ich "/dev/hda1" ein, was ja mal geklappt hat  <<<

```

: /dev/hda1

STEP 4a: Mounting Root

STEP 5: Finishing up

STEP 5b: setting up stuff for pivot_root

STEP 6: pivot_root and exec/chroot real init 

/linuxrc: 285: test: not found 

/linuxrc: 285: test: not found 

exec: 292 /sbin/init not found 

EXT2-fs: ide0(3,3), couldn't mount because unsupported optional features (4)

KERNEL PANIC: VFS: Unable to mount root fs on 03:03

```

So, das ist exakt das was jetzzt passiert, eben mit obigen Einstellungen. Und die Einstellungen die ich gemacht habe entsprechen soweit ich das sehe 1:1 den Vorgaben in der Dokumentation, sowohl "de" als auch "en". 

Bisher komme ich nur auf /boot/grub/grub.conf bzw. /etc/fstab als mögliche Übeltäter. Seht Ihr vielleicht etwas was ich nicht sehe? Oder gibt es eine andere Konfig-Datei die ich mal kontrollieren sollte?

Oder kann irgendwas bei der Installation von Grub daneben gegangen sein...?

Viele Grüße

Andreas

----------

## andreask

OK, es Funkitoniert  :Wink: 

Es und zwar mit der genannten version, nicht mit meiner. Bin jetzt wieder mit lynx unterwegs, daher schreibe ich das wenn später, falls sich das unterscheidet. Jedenfalls gab es mehrere verschiedene Manual-Versionen, und korrekt ist nur die Version der neusten englischen Variante fuer alle Architekturen. Naja, jedenfalls hat gentoo jetzt direkt komplett gebootet, der Fehler von vorhin kann evtl. mit einem etwas fehlerhaften reboot zu tun gehabt haben, denn da war sofort alles schwarz.

Auf jeden Fall vielen Dank fuer Eure Hilfe.

Grüße

Andreas

PS, wenn ich jetzt auch noch hinbekommen würde dass ich deutsche Umlaute verwenden koennte...  :Wink: 

----------

