Selbstkompilierter Kernel bootet nicht

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
LinuxBoon
Beiträge: 19
Registriert: 09.02.2007 10:29:31

Selbstkompilierter Kernel bootet nicht

Beitrag von LinuxBoon » 09.02.2007 10:41:43

Hallo,

ich hab erst vor kurzem angefangen mich mit Linux zu beschäftigen und wollte jetzt mal selbst den Linux Kernel kompilieren und installieren. Dazu habe ich mir von Kernel.org die Sourcen vom 2.6.20-Kernel besorgt und dann konfiguriert (make menuconfig), mit make-kpkg kompiliert und anschließend das .deb-Paket installiert).
Nur leider bootet der Kernel nicht, sondern es wird folgendes ausgegeben:

Code: Alles auswählen

hda: WDCWD803DB-00 ATA DISK drive
hda: IRQ probe failed (0xfffffffa)
hdb: ST3300831A ATA drive
hdb: IRQ probe failed (0xfffffffa)
hdc: IRQ probe failed (0xfffffffa)
hdc: IRQ probe failed (0xfffffffa)
hdc: IEE DVD-ROM 16x ATAPI CD/DVD-ROM drive
hdc: IRQ probe failed (0xfffffffa)
[...]
hda: max request size: 512KiB
hda: lost interrupt.
Die Zeile "hda: lost interupt." wird erst nach ca. 15s eingeblendet und erscheint dann nach einiger Zeit erneut auf dem Bildschirm.
Hat jemand eine Idee, was ich falsch gemacht haben kann (bzw. vor dem kompilieren falsch konfiguiert haben kann)?

Um Hilfe bittend,

der LinuxBoon

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Beitrag von novalix » 09.02.2007 11:38:03

Willkommen im Forum!

Die Fehlermeldungen, die Du erhälst, deuten darauf hin, dass der ide-controller die angeschlossenen Geräte nur unzureichend erkennt bzw. ansprechen kann. Möglicherweise hast Du bei der Konfiguration den falschen ide-chipsettreiber ausgewählt.
Kannst Du bitte genauere Angaben machen zu:

1. Deiner Hardware: Die Ausgabe von

Code: Alles auswählen

lspci
wäre hier sinnvoll.
2. Deiner Kernelconfig: Die findest Du unter

Code: Alles auswählen

/boot/config-2.6.20*
(Bitte nach nopaste schicken)
3. ob Du den Kernel mit oder ohne initrd gebaut hast.

ciao, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

LinuxBoon
Beiträge: 19
Registriert: 09.02.2007 10:29:31

Beitrag von LinuxBoon » 09.02.2007 12:23:55

Ok, dann mal los...

1.) Ausgabe von lspci

Code: Alles auswählen

0000:00:00.0 Host bridge: Silicon Integrated Systems [SiS] 746 Host (rev 10)
0000:00:01.0 PCI bridge: Silicon Integrated Systems [SiS] SG86C202
0000:00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS963 [MuTIOL Media IO] (rev 25)
0000:00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016
0000:00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE]
0000:00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] Sound Controller (rev a0)
0000:00:03.0 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
0000:00:03.1 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 0f)
0000:00:03.2 USB Controller: Silicon Integrated Systems [SiS] USB 2.0 Controller0000:00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 90)
0000:00:09.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH A1 ISDN [Fritz] (rev 02)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV350 AP [Radeon 9600]
0000:01:00.1 Display controller: ATI Technologies Inc RV350 AP [Radeon 9600] (Secondary)
2.) Kernelconfig:
http://nopaste.debianforum.de/5063

3.)
Gebaut habe ich den Kernel ohne initrd (was ist das eigentlich genau?)

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Beitrag von novalix » 09.02.2007 14:36:16

Hallo,

Du musst den Konfigurationspunkt

Code: Alles auswählen

944. # CONFIG_BLK_DEV_IDEDMA_PCI is not set
anwählen, dann erhälst Du weitere Optionen.

Code: Alles auswählen

CONFIG_IDEDMA_PCI_AUTO=y
wäre gut und dann auf jeden Fall Dein Chipset anwählen und fest einkompilieren d.h. nicht als Modul. Wenn ich das richtig sehe müsste

Code: Alles auswählen

CONFIG_BLK_DEV_SIS5513
der richtige Treiber für Dein Chipset sein. Als Dateisysteme hast Du ja undfest eingebunden. Wenn Deine Rootpartition auf einem dieser Dataeisysteme liegt gibt es von daher auch keine Probleme.
Zu Deiner zweiten Frage: In einer initial ramdisk - üblicherweise

Code: Alles auswählen

/dev/ram0
- können beim Start des Kernels alle benötigten Module abgerufen werden. Das ist vor allen Dingen für Distributoren wichtig, die so darauf verzichten können, jeden Chipsettreiber und die Treiber für jedes Filesystem fest in den Kernel einzukompilieren. Sie erlaubt Dir also einen portablen und variablen Kernel zu bauen, der auf unterschiedlicher Hardware booten kann. Wenn Du einen angepassten Kernel für eine bestimmte Maschine baust, kannst Du auch darauf verzichten. In dem Fall ist es aber unerlässlich, dass Du die Treiber für das Chipset und das Rootfilesystem fest in den Kernel einbindest.

Hoffe das es hilft, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

LinuxBoon
Beiträge: 19
Registriert: 09.02.2007 10:29:31

Beitrag von LinuxBoon » 10.02.2007 16:04:55

Vielen Dank erstmal für deine Hilfe, leider jedoch funktioniert der Kernel auch nach den veränderten Konfiguration noch nicht:

Code: Alles auswählen

SIS5513: IDE controller at PCI slot 0000 :00 :02.5
SIS5513: chipseet revision 0
SIS5513: not 100% native mode: will probe irqs later
SIS5513: SIS 962/963 MUTIOL IDE UDMA 133 controller
ide0: BM-DMA at 0xff00-0xff07, BIOS settings: hda: DMA, hdb: DMA
ide1: BM-DMA at 0xff08-0xff0f, BIOS settings: hdc: DMA, hdd: DMA
hda: WDCWD803DB-00 ATA DISK drive
hdb: ST3300831A ATA drive
ide0 at 0x1f0-0x1f7, 0x3f6 on irq 14
hdc: IEE DVD-ROM 16x ATAPI CD/DVD-ROM drive 
hdd: HL-DT-ST DVDRAM GSA-4163, ATAPI CD/DVD-ROM drive
ide0 at 0x170-0x177, 0x376 on irq 15
hda: max reqest size: 512 KiB
hda: lost interrupt.
Ist es eigentlich auch möglich, diese Boot-ausgaben irgendwie zu speichern (habe sie jetzt immer nur abgeschrieben)? Ich habe zwar mit bootlogd rumgespielt, dass jedoch hier noch nichts mitlogt (eigentlich auch verständlich wenn nciht richtig auf die Festpallte zugegriffen werden kann).

ciao,
LinuxBoon

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 10.02.2007 16:19:52

Die Kernelmeldungen kannst du auch mit
dmesg
aufrufen, oder in /var/log/dmesg nachlesen.

Antworten