Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

17.07.2008, 23:37

Neuer Kernel lässt sich nicht booten

Nabend,

ich habe seit gestern eine Gentoo-Installation auf meinem Computer laufen, welche mit dem grafischen Installer der LiveCD 2008.0-r1 durchgeführt wurde. Diese Installation ist (nach meinem Ermessen) voll funktionsfähig.
Nun möchte ich aber einen neuen Kernel benutzen (von "kernel-genkernel-x86-2.6.24-gentoo-r5" auf "/kernel-genkernel-x86-2.6.25-gentoo-r6"), wessen Quellcode ich mir mit emerge besorgt habe. Ich habe ihn bereits mit

Quellcode

1
genkernel --xconfig --install --mountboot --bootloader=grub all

konfiguriert, kompiliert und installiert. Auch der Bootloader-Eintrag (/boot/grub.conf) scheint korrekt zu sein (Zum Vergleich der "alte" Kernel mit drin):

Quellcode

1
2
3
4
5
6
7
8
title=Gentoo Linux (2.6.25-gentoo-r6)
root (hd0,1)
kernel /kernel-genkernel-x86-2.6.25-gentoo-r6 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda4
initrd /initramfs-genkernel-x86-2.6.25-gentoo-r6
title=Gentoo Linux
root (hd0,1)
kernel /kernel-genkernel-x86-2.6.24-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda4
initrd /initramfs-genkernel-x86-2.6.24-gentoo-r5

Allerdings lässt sich der neue Kernel im Gegensatz zum alten (welcher immernoch voll funktionsfähig ist) nicht booten.
Als Fehlermeldung erscheint mir beim Hochfahren folgendes:

Quellcode

1
2
Block device /dev/sda4 is not a valid root device...
Could not find the root block device in .

Anzumerken ist, dass ich eine SATA-HDD benutze, auf welcher /dev/sda1 mit Windows belegt ist, /dev/sda2 die Bootpartition ist, /dev/sda3 Swap und /dev/sda4 schließlich / für gentoo. Meine /etc/fstab:

Quellcode

1
2
3
4
/dev/sda2 	/boot 	ext2 	defaults     	1 2
/dev/sda4 	/ 	ext3 	defaults     	0 1
none    	/proc 	proc	defaults      	0 0
none    	/dev/shm  tmpfs   defaults      	0 0

Aus der Annahme möglicher Fehlerquellen heraus habe ich im Laufe des Tages mehrere Kernel-Konfigurationen durchprobiert und auch alle Dateisysteme (obwohl ich nur ext2/ext3 aktiv benutze), sowie alle scsi-Treiber direkt in den Kernel kompiliert. Meine (letzte) Kernelkonfiguration ist unter http://de.pastebin.ca/1074763 zu finden. Wie man sieht war ich auch sonst sehr großzügig mit den Optionen.

Ich würde mich freuen, wenn mir Jemand helfen kann, da ich heute selbst den ganzen Tag keine Lösung gefunden habe. Allerdings muss man auch zugestehen, dass ich in (Gentoo) Linux ein Anfänger bin und es deshalb gut möglich ist, dass Jemand von euch einen flüchtigen Anfängerfehler gleich enttarnt :)
Sollten noch irgendwelche relevanten Infos fehlen, bitte ich mir das mitzuteilen. Vielen Dank für die Hilfe!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tlk« (18.07.2008, 20:01)


2

18.07.2008, 00:19

Willkommen im Forum!

Ich vermute mal das dir der richtige SATA Controller Treiber fehlt.
Schaue mal was

Quellcode

1
lspci
(sys-apps/pciutils muss installiert sein)
für ein SATA Controller ausspuckt.
Mit dieser Info kannst du dann, zb per Google suche (oder poste sie hier) den richtigen Treiber herausfinden. Der Treiber muss fest (nicht als Modul) im Kernel gesetzt werden.

viel Erfolg

3

18.07.2008, 07:58

Danke für die nette Begrüßung. Leider habe ich es alleine immer noch nicht hinbekommen. Hier die zusätzlichen Informationen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce Go 7600] (rev a1)
04:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5789 Gigabit Ethernet PCI Express (rev 21)
05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
06:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev c0)
06:04.0 CardBus bridge: ENE Technology Inc CB-712/4 Cardbus Controller (rev 10)
06:04.1 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller (rev 01)
06:04.2 SD Host controller: ENE Technology Inc ENE PCI Secure Digital Card Reader Controller (rev 01)
06:04.3 FLASH memory: ENE Technology Inc FLASH memory: ENE Technology Inc: (rev 01)
06:04.4 FLASH memory: ENE Technology Inc SD/MMC Card Reader Controller (rev 01)

Daraufhin habe ich

Zitat

Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ATA_PIIX)

This option enables support for ICH5/6/7/8 Serial ATA
and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
host controllers.
fest in den Kernel kompiliert. Das hat das Ausgangsproblem aber leider noch nicht gelöst.

4

18.07.2008, 09:06

Du könntest es mal mit hda anstatt sda probieren (also "real_root=/dev/hda4").

Aber ich denke der Fehler liegt eher an den Kerneloptionen:

Für was brauchst du:
CONFIG_BLK_DEV_IDEDISK=y

Für was die ganzen:
PCI IDE chipsets support
Other IDE chipsets support

SCSI aufräumen!
PATA aufräumen!

SATA nur den richtigen nehmen und diesen fest!


Überhaupt scheint mir dein ganzer Kernel komplett überladen zu sein. Das ist zwar prinzipiell nicht das Problem, sollte man aber dennoch dringenst ausmisten
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

5

18.07.2008, 10:47

@maggu2810:

Zitat

Du könntest es mal mit hda anstatt sda probieren (also "real_root=/dev/hda4").
Verschaffte mir leider auch keinen Erfolg. Es folgte zwar eine andere Fehlermeldung, aber ich denke nicht, dass hda4 richtig ist.

Zitat

Aber ich denke der Fehler liegt eher an den Kerneloptionen
Ja, das ist gut möglich.

Zitat

Überhaupt scheint mir dein ganzer Kernel komplett überladen zu sein. Das ist zwar prinzipiell nicht das Problem, sollte man aber dennoch dringenst ausmisten
Das ist mir schon klar (habe ich weiter oben auch geschrieben). Dennoch bin ich der Meinung, dass ich erst mal versuchen sollte einen lauffähigen Kernel zu bekommen, um erst dann mit der Optimierung dessen fort zu fahren.
Gerade als Anfänger scheint mir diese Herangehensweise die plausibelste zu sein.

6

18.07.2008, 13:16

Ich persönlich finde es schwieriger ein überladenden Kernel auszumisten als eine neue Konfiguration neu aufzubauen,
daher würde ich dir empfehlen nochmal neu anzufangen.
Im Wiki gibt es doch auch eine sehr gute Dokumentation hierfür, siehe
http://de.gentoo-wiki.com/Kernel_manuell_kompilieren
Eine Link Sammlung findest du auch noch hier
[Tipps & Tricks] Linkliste: Kerneldokumentation

Der Befehl zum gründlichen aufräumen währe hier

Quellcode

1
2
3
cd /usr/src/linux
make mrproper
make menuconfig
(Dies löscht auch die .config mit weg)

Generell einen lauffähigen kernel hinzubekommen ist ja nicht das Problem, du hast ja einen funktionierenden , dessen config man zur Not kopieren könnte, aber eben wieder überladen...

7

18.07.2008, 13:49

Das tolle ist, dass das jeder so machen kann wie er will.
Ich würde auch nur das aktivieren, das ich brauche, als erst so gut wie alles zu aktivieren und dann nach und nach immer was zu deaktivieren.
Aber egal...
Deaktiviere nun einfach alles, was mit ATA/PATA/SCSI/SATA zu tun hat. Dann aktivierst du nur SATA mit dem bei dir vorhandenem Chipsatz (erst mal die Festplatte zum Laufen bekommen, um die optischen Geräte kann man sich später kümern).
Dann baust du ihn, kopierst in nach /boot (grub/lilo hast ja schon angepasst) und startest diesen.
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

8

18.07.2008, 20:06

Und wieder einmal siegt die Erfahrung über die Unwissenheit ;)
Eure Tipps waren goldrichtig. Eine abespeckte Kernel-Konfiguration hat's nun gebracht. Hat zwar ein paar Stunden allein für die config gedauert, aber der neue Kernel ist nun dafür richtig schön schlank und im Vergleich zu gestern, wo ich nur wie blöde überladene Kernel kompiliert habe, war es sogar (letztendlich) auch noch eine Zeitersparnis.
Der Fehler muss wohl bei irgendeinen SATA-Treiber gelegen haben, der zwar als Modul, aber nicht direkt in den Kernel eingebunden war.
Also Danke für eure Hilfestellung ... ich werd mich nun an die Lokalisierung und (anständige) USE-Flags ran wagen :)

9

18.07.2008, 20:47

Würde dir aber empfehlen, die deutsche Lokalisierung nur für den einzelnen Benutzer und nicht für das komplette System (eben root mit inbegriffen) zu setzen.
Fehlermeldungen beim Kompiliervorgang sind besser in Englisch zu posten und auch Google liefert dann mehr Ergebnisse.
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.