Wie Kernel patchen?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
seels

Wie Kernel patchen?

Beitrag von seels » 23.11.2006 19:32:48

Hallo Forum,

ich bin vor einiger Zeit von Windows auf Linux umgestiegen, daher habe ich bisher nur Grundkentnisse. Bitte beachtet dies bei Antworten. ;)

Ich bin (leider) Besitzer des vorletzten Aldi Medion Notebooks und wollte mir SuSE installieren, aber die neuste SuSE Version 10.1 erkennt das DVD-Laufwerk, sowie die Festplatte nicht. Bei Debian lief die Installation erfolgreich, allerdings gibt es ein Problem mit der Festplattenperformance, was auch schon bei Novell bekannt ist: https://bugzilla.novell.com/show_bug.cgi?id=205331

Natürlich habe ich auch das Problem:
mobile:/# hdparm -tT /dev/hda

/dev/hda:
Timing cached reads: 2968 MB in 2.00 seconds = 1484.00 MB/sec
Timing buffered disk reads: 6 MB in 3.56 seconds = 1.69 MB/sec
Daher nun meine Frage: Wie kann ich den dort erwähnten Patch (http://marc.theaimsgroup.com/?l=linux-i ... 718285&w=2) in meinen Kernel kompilieren?
Wie ich einen Kernel kompiliere habe ich schon ergoogelt, allerdings stand nirgends wie man einen Patch hineinbekommt.

Und was ist eigentlich der Vanilla Kernel der dort auf der Seite immer erwähnt wird?

Danke für eure Hilfe!

Gruß
Seels

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 23.11.2006 19:37:46

Hi und Willkommen im Forum!

Schau mal in unserem Wiki: http://wiki.debianforum.de/KernelsourcenPatchen

Gruß, garibaldi

Nachtrag:
seels hat geschrieben:Und was ist eigentlich der Vanilla Kernel der dort auf der Seite immer erwähnt wird?
Der Vanilla Kernel ist der Distributionsunabhängige Kernel, dessen Quellen von http://kernel.org/ heruntergeladen werden können.
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

Benutzeravatar
thorben
Beiträge: 722
Registriert: 14.09.2003 23:23:49

Beitrag von thorben » 25.11.2006 12:51:03

moin,
´normal brauchst für hdd performance nicht patchen. du kannst mit hdparm tunen

gruß
thorben

seels

Beitrag von seels » 25.11.2006 23:34:48

Hey,
danke für den Link zum Wiki, da stand alles was ich brauchte.

Da bei mir im Verzeichnis /usr/src/ nichts drin war und der Patch eh für einen anderen Kernel ist habe ich mir den Source Code zum Kernel 2.6.16 geholt, entpackt, gepatcht und compiliert. Alles an die richtige Stelle kopiert und dann Grub eingerichtet:
title Debian GNU/Linux, kernel 2.4.27-3-386
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-3-386 root=/dev/hda1 ro
initrd /boot/initrd.img-2.4.27-3-386
savedefault
boot

title Debian GNU/Linux, kernel 2.4.27-3-386 (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-3-386 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.4.27-3-386
savedefault
boot

title Testkernel 2.6.16
root (hd0,0)
kernel /boot/testkernel root=/dev/hda1 ro
savedefault
boot
Nun kommt beim Booten des Kernels allerdings folgende Meldung:
VFS: Cannot open root device "hda1" on 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)
In einem anderen Board stand, dass er die Festplatte wohl nicht findet und man solle als Anfänger alle IDE-Treiber mit einem * versehen, also mit in den Kernel nehmen.
Gesagt, getan... Änderung: keine.

Könnt ihr mir sagen was evtl. falsch sein könnte?

PS: hdparm kann den DMA Modus für diese Platte nicht aktivieren, daher ist ein patchen notwenidig. Aber danke für den Tipp!

Gruß
seels

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

Beitrag von Spasswolf » 26.11.2006 00:02:54

Poste mal die Ausgabe von

Code: Alles auswählen

lspci
uns stell die .config deines Kernels ins NoPaste.

seels

Beitrag von seels » 26.11.2006 00:24:00

Ok, einmal hier die Ausgabe von lspci...

Code: Alles auswählen

mobile:/# lspci
0000:00:00.0 Host bridge: Intel Corp. Mobile Memory Controller Hub (rev 03)
0000:00:02.0 VGA compatible controller: Intel Corp. Mobile Graphics Controller (rev 03)
0000:00:02.1 Display controller: Intel Corp. Mobile Graphics Controller (rev 03)
0000:00:1b.0 0403: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)
0000:00:1c.0 PCI bridge: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
0000:00:1d.0 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
0000:00:1d.3 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev d3)
0000:00:1f.0 ISA bridge: Intel Corp. 82801FBM (ICH6M) LPC Interface Bridge (rev03)
0000:00:1f.2 IDE interface: Intel Corp. 82801FBM (ICH6M) SATA Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
0000:06:05.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)
0000:06:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
...und hier die config.

Hab die .config vom alten Kernel übernommen und bei den NEW Einträgen hauptsächlich die default Einstellungen belassen da ich erstmal nur wissen will ob ich mit Hilfe des Patches überhaupt mein Notebook verwenden kann.

Edit KBDCALLS: quote Tags gegen Code Tags getauscht.

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

Beitrag von Spasswolf » 26.11.2006 00:47:11

Was IDE betrifft sollte das folgende fest in den Kernel:

Code: Alles auswählen

CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
Außerdem muss noch das Dateisystem der / Partiotion fest rein, für ext3 wäre das:

Code: Alles auswählen

CONFIG_EXT3_FS=y

seels

Beitrag von seels » 26.11.2006 18:32:25

Habe die Einstellungen übernommen und neucompiliert, leider keine Änderung.
Irgendwas scheint noch zu fehlen...

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 27.11.2006 11:02:01

Brauchst Du eventuell noch eine angepasste initrd-Zeile in der grub menu.lst?

Code: Alles auswählen

initrd /boot/initrd.testkernel
bzw. mit "ls /boot" solltest Du die passenden Werte für den neuen Kernel und initrd (soweit vorhanden) finden.

Gruß fuzzy

seels

Beitrag von seels » 24.12.2006 16:54:17

Ja genau daran lag es!
Ich hatet erst gelesen das man das nicht mehr braucht wenn man einen neueren Kernel verwendet.
Habe die Datei nachträglich erstellt und nun funzt alles, danke!

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 27.12.2006 11:06:57

seels hat geschrieben:Ja genau daran lag es!
Ich hatet erst gelesen das man das nicht mehr braucht wenn man einen neueren Kernel verwendet.
Habe die Datei nachträglich erstellt und nun funzt alles, danke!
Das hat nix mit neuem Kernel zu tun. Du brauchst keine initrd, wenn du alles, was der Kernel zum Booten braucht fix im Kernel hast. Wenn da auch nur ein Treiber, der beim Booten gebraucht wird, als Modul gebaut ist, musst du eine initrd nehmen.

seels

Beitrag von seels » 27.12.2006 13:02:14

Ah danke für die Info!
Module hab ich einige drin... das erklärt dann auch die Meldung ;)

Antworten