Install Gentoo: "VFS: Cannot open root device bla or unknown block

N

netbui

Eroberer
Hallo,

ich habe gerade meine sämtlichen PC's auf Suse 10.1 umgestellt, nur noch mein Slate Subnotebook HP TC1000 mit etwas behäbigem Transmeta Crusoe TM5800 @ 1GHz fehlt noch. Dem Gerät fehlt leider ein CD-Laufwerk, ich konnte es aber via PXE mit Suse 10.1 befruchten. Nun würde ich allerdings wegen der Performance gerne auf Gentoo umstellen. Auf tuxmobil.org habe ich eine entsprechende Anleitung gefunden. Leider erhalte ich beim booten folgende Message:
Code:
"VFS: Cannot open root device "hda3" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Ich habe die letzten Abende damit verbracht, eine Lösung zu finden, leider ohne Erfolg. Ich habe Suse zum installieren via chroot verwendet und dazu den Tarball vom May 31 01:05 stage3-i686-2006.0.tar.bz2 verwendet.
Das Dateisystem sieht folgendermaßen (df unter suse) :
Code:
/dev/hda1                      15G  8,3G  6,5G  57% /windows/C
/dev/hda2    (boot)         8,5G  4,7G  3,8G  56% /
/dev/hda3                     4,9G  2,0G  2,6G  44% /mnt/gentoo
/dev/hdc1                     123M  1,7M  121M   2% /windows/D
Auf swap habe ich absichtlich verzichtet.
Nachdem ich mit genkernel das selbe Problem hatte, habe ich eine eigenen Kernel gebaut
Code:
uname -a
Linux slate 2.6.16.13-4-default #1 Wed May 3 04:53:23 UTC 2006 i686 Transmeta(tm) Crusoe(tm) Processor TM5800 GenuineTMx86 GNU/Linux
und das kernel Image auf die Suse /boot geschoben und mit yast in die menue.lst eingefügt:
Code:
# Modified by YaST2. Last modification on Mi Jun  7 22:51:52 CEST 2006

color white/blue black/light-gray
default 0
timeout 8
gfxmenu (hd0,1)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux 10.1
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/hda2    splash=silent showopts
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
    chainloader (hd0,0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE Linux 10.1
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/hda2 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd

title Gentoo
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.16-gentoo-r8-default root=/dev/hda3
Meine make conf:
Code:
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer -mpreferred-stack-boundary=2 -falign-functions=0 -falign-jumps=0 -falign-loops=0"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
USE="acl acpi apache2 bluetooth bonobo fam flac gd gd2 gthtml imap jabber maildir memlimit mmx mng pcmcia pnp ruby samba sasl slp speex sqlite svg theora tiff trusted unicode usb wmf xinerama xml xosd -kde -svga -tclk -esd -qt"

ACCEPT_KEYWORDS="~x86"
PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://mirrors.sec.informatik.tu-darmstadt.de/gentoo"

Was habe ich falsch gemacht? Die Gentoo Doku habe ich übrigens ein paar mal gelesen, aber irgendwie finde ich den Fehler nicht.

Vielen Dank für eventuelle Antworten!
 
Zuletzt bearbeitet:
Der Mountpunkt für / stimmt nicht.
Muß sein: hda2.
 
Keruskerfürst schrieb:
Der Mountpunkt für / stimmt nicht.
Muß sein: hda2.
Mit Verlaub: Das ist purer Unfug.

netbui schrieb:
Code:
"VFS: Cannot open root device "hda3" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Vermutlich fehlt der Treiber für den IDE-Controller oder Treiber ist nur als Modul enthalten. lspci verrät um welchen Controller es sich handelt, der Treiber für diesen muss fest im Kernel sein, damit von einem daran angeschlossen Device gebootet werden kann.
 
Man könnte auch eine initrd benutzen (Wenn ide-controller Treiber als Modul), was allerdings zu viel Aufwand für den Zweck wäre.

MFG

Dennis
 
Zitat:
Code:
uname -a
Linux slate 2.6.16.13-4-default
Zitat:
Code:
title Gentoo
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.16-gentoo-r8-default root=/dev/hda3
1) Die richtige Kernelversion sollte schon in menu.1st stehen,also 2.6.16.13-4-default.Heißt das Kernelimage wirklich "vmlinuz",ist unter Gentoo eigentlich unüblich.Es sei denn Du hast sie so benannt.

2) Wenn Gentoo auf /dev/hda3 installiert ist müsste die "root"-Zeile nicht (hd0,1) sondern "root (hd0,2)" sein.

3) Ist Grub in der Gentoopartition installiert?
Code:
grub> root (hd0,1)          (Angabe /boot Partition in dev/hda2 [Suse])
grub> setup (hd0,2)         (Installiere GRUB in Partition /dev/hda3 [Gentoo])
grub> quit
 
Habs aufgegeben - vorerst.

Hallo,

hatte die letzten Tage keine Zeit, vielen Dank für die Tipps. Ich habe mittlerweilen Suse gelöscht und versucht, mit der Livecd 2006.0 zu installieren. Nach mehreren Abstürzen des Installers, sowohl unter X als auch auf der Konsole, ist eine Installllation durchgelaufen. Das Problem mit Gub ist damit gelöst. Ich wollte das System dann aktualisieren, bei emerge world ist öfters ausgestiegen (pam-auth und nochwas anderes, habe ich lösen können) und nach 20 h Kompilieren ist mir aufgefallen, dass ich ja den alten GCC 3.??? verwende und nicht den neuen 4.1.1. Auch nach längerer Suche im Netz habe ich es irgendwie nicht geschafft, den Compiler umzustellen. Kann mir da jemand weiterhelfen?
Ferner muss ich bei der Lahmen Hardware wohl distcc verwenden, weiß jemand ob das mit Suses "Icecream" zusammenarbeitet? Auf der Suse Kiste läuft gcc 4.1.0.

Erneut vielen Dank für evnetuele Antworten!
 
Hallo,

danke für die schnelle Antwort. Ich habe die letzetn Tage so viel Gentoo Doku gelesen, dass ich nurn noch weiß, dass ich gar nichts mehr weiß ?( . Den Link http://www.gentoo.org/doc/en/gcc-upgrading.xml hatte ich bereits gefunden und emerge -uav gcc durchgeführ. Nur bei:
Code:
# gcc-config i686-pc-linux-gnu-3.4.5
erhalte ich die Fehlermeldung
Code:
!!! Error: Invalid profile: gcc-config i686-pc-linux-gnu-3.4.5
Aßerdem stand da, dass gcc-config nicht mehr weiterentwickelt wird und man künftig eselect compiler verwenden sollte. Nach dem durchlesen einiger Seiten zu eselect war ich noch verwirrter und meine bessere Hälfte hat mir außerdem einige Tage PC-Verbot auferlegt, da ich das letzte Wochenende mit Gentoo und nicht mit ihr verbracht habe.
ein gcc -v bringt
Code:
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5
gcc 4.1.1 wollte ich aus folgenden Gründen verwenden: In der vorletzten XI stand, das gcc 4.1 erheblich schneller conpilieren soll als 3.x (der Crusoe ist doch etwas langsam ....). Außerdem wollte distcc verwenden, um den Prozess weiter zu beschleunigen. Meine Workstation läuft unter Suse 10.1 mit gcc 4.1..0
 
Zuletzt bearbeitet:
wenn du trotzdem den gcc 4 installieren willst musst du das package umasken.

also unter /etc/portage eine datei namens package.umask erstellen falls noch nicht vorhanden, und in die trägst du das gcc4-package ein. dann noch einmal syncen und fröhliches installiern.

@krishan: deine sig auszuführen liefert echt interessante ergebnisse......:-)
 
GCC 4.1.1 läuft perfekt, aber Achtung c++ API/ABI Change

MFG

Dennis
 
Hallo,

habe die Datei /etc/portage/package.umask mit dem Eintrag "=sys-devel/gcc-4.1.1" erstellt, erhalte aber nach einem emerge -uav (es wurde kein Paket heruntergeladen, ich hatte es am wochenende mit emerge sys-devel/gcc-4.1.1 bereits heruntergeladen und compiliert) und
Code:
gcc-config i686-pc-linux-gnu-3.4.5
erneut ausgeführt, mit der selben Fehlermeldung
Code:
!!! Error: Invalid profile: gcc-config i686-pc-linux-gnu-3.4.5

Ich habe nun ein emerge -av gcc durchgeführt, es wurde ein kleine Datei heruntergeladen (knapp 30 kb) und das Sytem ist erstmal baschäftigt :-)

Wo wird die Compilerversion eigentlich eingestellt, kann man gcc-config i686-pc-linux-gnu-3.4.5 nicht auch per Hand durchführen? Aber eventuell kalppt es ja nach dem Compilerlauf auch so.

Mit dem c++ API/ABI Change beschäftige ich dann, wenn ich soweit bin. Ich habe eh vor, nicht so viel zu installieren und werde auch wegen der geringeren compilierzeit Gnome verwenden.


-------------------------------------------------------------------------
Nachtrag: einige Stunden später habe ich herausgefunden, dass ich anstatt gcc-config i686-pc-linux-gnu-4.1.1 gcc-config i686-pc-linux-gnu-4.1.1/vanilla zum wechseln des Compilers hätte ausführen müssen. Ich habe mir etliche Seiten Doku reingezogen; habe ich das irgendwie schlicht überlesen oder ist was mit meiner Konfig nicht i.O.
 
Zuletzt bearbeitet:
netbui schrieb:
habe die Datei /etc/portage/package.umask mit dem Eintrag "=sys-devel/gcc-4.1.1" erstellt
Da gcc-4.1.1 im Testing-Zweig ist muß es in die Datei "/etc/portage/package.keywords" rein.Außerdem muß es nicht "umask" sondern "unmask" heißen.
Was ist denn die Ausgabe von
Code:
emerge -av gcc
???
 
Hallo Krishan,

Code:
slate portage # more package.umask
=sys-devel/gcc-4.1.1
=sys-devel/libperl-5.8.8-r2
Code:
slate portage # more emerge_av_gcc

These are the packages that would be merged, in order:

Calculating dependencies ... done!
[ebuild   R   ] sys-devel/gcc-4.1.1  USE="fortran gtk nls -bootstrap -build -doc
 -gcj -hardened -ip28 -ip32r10k -mudflap -multislot -nocxx -objc -objc++ -objc-g
c -vanilla" 0 kB [1]

Total size of downloads: 0 kB
Portage overlays:
 [1] /usr/portage
Code:
slate portage # gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /var/tmp/portage/gcc-4.1.1/work/gcc-4.1.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.1 (Gentoo 4.1.1)
Code:
slate etc # more make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example

CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer -mpreferred-stack-boundary=2 -falign-functions=0 -falign-jumps=0 -falign-loops=0"
CXXFLAGS="${CFLAGS}"

USE="acl acpi apache2 bluetooth bonobo fam flac gd gd2 gtkhtml imap jabber maildir memlimit mmx mng pcmcia pnp ruby samba sasl slp speex sq
lite svg theora tiff trusted unicode usb wmf xinerama xml xosd nptl nptlonly -kde -svga -tcltk -esd -qt"

ACCEPT_KEYWORDS="~x86"
PORTDIR_OVERLAY="/usr/portage"

#GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ft
p-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo"

GENTOO_MIRRORS="http://gentoo.ITDNet.net/gentoo http://gentoo.inode.at/ http://gentoo.ynet.sk/pub http://gd.tuwien.ac.at/opsys/linux/gentoo
/ http://gentoo.mirror.solnet.ch http://mirror.switch.ch/ftp/mirror/gentoo/ http://ftp.linux.ee/pub/gentoo/distfiles/ http://ftp.romnet.org
/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://ftp.du.se/pub/os/gentoo"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

Oops, irgendwie geht es trotzdem :think: Das einzige Problem das bisher aufgetaucht ist, war, dass ich =sys-devel/libperl-5.8.8-r2
anstatt /libperl-5.8.8-r1 nehmen musste und diese habe ich auch in die falsch geschriebene package.umask eingetragen. Danach habe ich perl einzeln emerged, perl-cleaner durchlaufen lassen, dann emerge -uvD system, jetzt ist er gerade bei emerge -uvD world (47 of 138 packages). Habe ich jetzt totalen Müll gebaut? Die make.conf habe ich übrigens von http://www.johanneswilm.org/TC1000/ (link von http://tuxmobil.org/compaq.html). sys-devel/gcc-4.1.1 hatte ich schon vor einigen Tagen geholt. Das system habe ich zwischendrinn einige male rebootet, da ich nicht wusste, wie ich die geänderte Konfiguration sonst übernehmen sollte.

------------------------------------------------------------------------------


Nachtrag: nu iss er doch ausgestiegen (bei Paket 50, x11-misc/linuxwacom-0.7.2). Krishan, da habe ich Deinen Link wohl leider nicht zu Ende gelesen und package.keywords "vergessen" anzulegen. Nachdem das System nun sowieso unterbrochen hat zu kompilieren, werde ich nun die package.unmask korrigieren und eine packages.keywords mit dem Inhalt:
Code:
slate portage # more package.keywords
=sys-devel/gcc-4.1.1
=sys-devel/libperl-5.8.8-r2
anlegen.
 
Zuletzt bearbeitet:
Hallo Krishan,

genau jenes Manual habe ich benutzt. Nur der Schritt
Code:
emerge -aC =sys-devel/gcc-3.3*
fehlt noch. An dem Punkt
Code:
gcc-config i686-pc-linux-gnu-3.4.5
habe ich mich länger aufgehalten :-). Irgendwie binn ich nicht auf die Idee gekommen, dass man zusätzlich noch z.B. /vanilla nahängen muß. Ich habe mir drei Dokus durchgelesen und das stand da nirgends (oder ich habs mal wieder überlesen :brav: ). Irgendwan habe ich dann in dem help von eselect folgendes gefunden:
Code:
slate ~ # eselect compiler list
Available compilers for CTARGET i686-pc-linux-gnu
  [1]   i686-pc-linux-gnu-3.4.5/hardened
  [2]   i686-pc-linux-gnu-3.4.5/hardenednopie
  [3]   i686-pc-linux-gnu-3.4.5/hardenednopiessp
  [4]   i686-pc-linux-gnu-3.4.5/hardenednossp
  [5]   i686-pc-linux-gnu-3.4.5/vanilla
  [6]   i686-pc-linux-gnu-4.1.1/vanilla
und mit
Code:
eselect compiler i686-pc-linux-gnu-4.1.1/vanilla
den Compiler aktiviert. Danke für den Hinwes
Code:
emerge -av gcc
Das habe ich mittlerweile - erneut -gemacht, das System rebootet und nun liefert mir emerge -av gcc kein zu installierendes Paket mehr. Nur:
Code:
slate gcc # pwd
/etc/env.d/gcc
slate gcc # ll
total 28K
-rw-r--r-- 1 root root  32 Jun  9 23:10 config
-rw-r--r-- 1 root root 292 Jun  9 23:10 i686-pc-linux-gnu-3.4.5
-rw-r--r-- 1 root root 356 Jun  9 23:10 i686-pc-linux-gnu-3.4.5-hardened
-rw-r--r-- 1 root root 361 Jun  9 23:10 i686-pc-linux-gnu-3.4.5-hardenednopie
-rw-r--r-- 1 root root 364 Jun  9 23:10 i686-pc-linux-gnu-3.4.5-hardenednopiessp
-rw-r--r-- 1 root root 361 Jun  9 23:10 i686-pc-linux-gnu-3.4.5-hardenednossp
-rw-r--r-- 1 root root 292 Jun 17 20:35 i686-pc-linux-gnu-4.1.1
slate gcc # more config
CURRENT=i686-pc-linux-gnu-3.4.5
macht mich etwas stutzig. Außerdem will das - von mir nicht benötigte Paket: x11-misc/linuxwacom-0.7.2 - nicht. Mal sehen wie ich es loswerden kann.

Noch 88 Pakete :)


--------------------------------------------------------------------------------------------



Ok, -ev nicht -uv > emerge -ev system läuft, noch 101 Pakete :( + 334 für world. Hoffentlich läuft es durch.


Übrigens, Deine Signatur hat was!
 
Zuletzt bearbeitet:
Irgendwan habe ich dann in dem help von eselect folgendes gefunden:
Hättest Du auch einfacher haben können:
Code:
gcc-config -l
 [1] i686-pc-linux-gnu-3.4.6 *
 [2] i686-pc-linux-gnu-3.4.6-hardened
 [3] i686-pc-linux-gnu-3.4.6-hardenednopie
 [4] i686-pc-linux-gnu-3.4.6-hardenednopiessp
 [5] i686-pc-linux-gnu-3.4.6-hardenednossp

Außerdem will das - von mir nicht benötigte Paket: x11-misc/linuxwacom-0.7.2 - nicht. Mal sehen wie ich es loswerden kann.
Scheint ein Bug zu sein:http://www.unixboard.de/vb3/showthread.php?t=20547

Das mit dem /vanilla verstehe ich jetzt nicht,und habe ich auch noch nicht gehört.Vanilla sind eigentlich immer die Originalsourcen ohne die Patches von Gentoo.Aber vielleicht klappt es ja.

Übrigens, Deine Signatur hat was!
Hääh,wie meinst Du das??( ?(
Habe ich wieder einen Fehler drin?
 
Hi,

Hättest Du auch einfacher haben können:
Code:
gcc-info -l

Zumindes hat mir die Such danach keine grauen Haare verursacht, nur fast Immerhin hatts ja geklappt, aber is scho komisch mit gcc-config blablabla/vanilla.

Dies ist übrigens auch nicht mein erstes Linux, mein debian Fileserver läuft schon seit 2000, seit Suse 10.1 benutze ich XP nur noch für ein einziges Programm...

Deine Signatur habe ich mal auf meiner Suse Kiste Laufen lassen, auch mit anderen Begriffen :-))

>>> Emerging (105 of 334) sys-devel/gcc-4.1.1 to /

Noch mal ne blöde Frage: emerge system ist durchgelaufen, muss man den Rechner danach rebooten oder sonst was machen, bevor man emerge world ausführt? Die Frage stelt sich mir gerade, weil gcc auch schon unter emerge system neu compiliert worden ist.
 
Noch mal ne blöde Frage: emerge system ist durchgelaufen, muss man den Rechner danach rebooten oder sonst was machen, bevor man emerge world ausführt? Die Frage stelt sich mir gerade, weil gcc auch schon unter emerge system neu compiliert worden ist.
Reboot ist nicht notwendig.
"emerge -e world" beinhaltet auch ein erneutes "emerge -e system",d.h.System wird nochmals neu gemerged,ist auch notwendig.
Erklärung hier:http://forums.gentoo.org/viewtopic-t-466036.html

Deine Signatur habe ich mal auf meiner Suse Kiste Laufen lassen, auch mit anderen Begriffen :-))
Ach,Du meintest den Codeschnipsel.Denn habe ich mittlerweile entfernt,da es so aussah als ob es noch zum Thread gehört.
Ja,ist schon krass was so alles im Kernelcode drin steht.
 
Hi,

super, ich hatte schon Angst, emerge world erneut ausführen zu dürfen. Die Kiste ist schon seit heute Morgen 10.00 damit beschäftigt und ist immer noch bei 105 of 334 ....8o
Danke auch für den x11-misc/linuxwacom-0.7.2 Link.
Noch mal ne frage zu emerge --resume --skipfirst: damit kann ich ja das x11-misc/linuxwacom-0.7.2 Paket erst mal zurückstellen. Was passiert aber, wenn noch ein weiters Paket bugy ist? Gibt es auch eine Möglichkeit zwei oder mehrere Pakete am anfang von resume zu skippen?

Schönen Gruß

Axel
 
netbui schrieb:
super, ich hatte schon Angst, emerge world erneut ausführen zu dürfen.
Damit wir uns nicht missverstehen:"emerge -e world" muss ausgeführt werden und zwar nach "emerge -e system".
Also wird "emerge -e system" praktisch zweimal ausgeführt,da es in "emerge -e world" enthalten ist.
 

Ähnliche Themen

openSuse 11.4 und 12.1 als Gast in XEN

dovecot und postfix Konfiguration Problem

debian neuer kernel startet nicht

Grub kann Win7 nicht starten

Gentoo, RAID1: "cannot open root device" (RAID nicht gefunden)

Zurück
Oben