Welches Modul/Treiber für welche Hardware, Kernel compilieren...
-
Topspeed
- Beiträge: 34
- Registriert: 10.02.2006 14:08:18
Beitrag
von Topspeed » 13.01.2007 17:17:47
Hi
Ich hatte mir einen Kernel basierend auf 2.6.19 und den Patch von Con Kolivas kompiliert. Nun versuchte ich diesen cks-Patch auf auf die Sourcen von 2.6.19.2 anzuwenden, jedoch erhielt ich folgende Fehlermeldung:
Code: Alles auswählen
/usr/src/linux-2.6.19.2-cks2# bzcat /usr/src/patch-2.6.19-cks2.bz2 | patch -p1
patching file fs/proc/array.c
patching file kernel/exit.c
patching file include/linux/sched.h
patching file kernel/sched.c
patching file include/linux/sysctl.h
patching file kernel/sysctl.c
patching file Documentation/sysctl/kernel.txt
patching file include/linux/init_task.h
patching file kernel/fork.c
patching file kernel/mutex.c
patching file kernel/softirq.c
patching file block/cfq-iosched.c
patching file include/linux/ioprio.h
patching file kernel/Kconfig.hz
patching file Documentation/sysctl/vm.txt
patching file include/linux/swap.h
patching file init/Kconfig
patching file mm/Makefile
patching file mm/swap.c
patching file mm/swap_prefetch.c
patching file mm/swap_state.c
patching file mm/vmscan.c
patching file include/linux/mm_inline.h
patching file include/linux/swap-prefetch.h
patching file include/linux/mmzone.h
patching file mm/page_alloc.c
patching file fs/buffer.c
patching file mm/page-writeback.c
patching file mm/filemap.c
patching file Documentation/filesystems/proc.txt
patching file arch/i386/Kconfig
patching file Makefile
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej
patching file arch/ia64/configs/tiger_defconfig
patching file arch/ia64/configs/zx1_defconfig
patching file block/Kconfig.iosched
ich bin leider noch Neuling in Sachen Kernel kompilieren. Kann mir jemadn sagen wie ich diesen Patch doch bei 2.6.19.2 nutzen kann?
noch eine kleine Frage:
Was ist der Unterschied, wenn ich bei den device treibern z.B. die Netzwerkarte Intel Pro 1000 als <M> oder als <*> einbinde?
Vielen Dank für die Hilfe!
-
Six
- Beiträge: 8071
- Registriert: 21.12.2001 13:39:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Siegburg
Beitrag
von Six » 13.01.2007 21:45:00
<M> bedeutet Modul, <*> bedeutet fest einkompilieren. Was ein Modul ist?
http://www.linuxhaven.de/dlhp/HOWTO/DE- ... html#ss2.5
Ich würde dir empfehlen, die Seite bei Gelegenheit zu lesen. Ist nützlich, gerade wenn man seinen Kernel gerne mal modifiziert.
Be seeing you!
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 13.01.2007 22:00:26
Code: Alles auswählen
patching file Makefile
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej
Dieses Makefile ( vermutlich das im Verzeichnis "arch/i386" ) wurde offensichtlich zwischen 2.6.19 und 2.6.19.2 so verändert, daß der Patch auf dieses nicht mehr angewendet werden kann.
Du kannst entweder auf einen neuen Patch warten, oder diese Änderung manuell einpflegen.
Poste einmal die Datei "Makefile.rej". Diese wird vermutlich nicht sehr groß sein, wenn doch, dann poste diese bitte auf NoPaste
Gruß
gms
-
Topspeed
- Beiträge: 34
- Registriert: 10.02.2006 14:08:18
Beitrag
von Topspeed » 13.01.2007 22:20:25
hallo six
vielen Dank für deine Antwort!
das <m> für Module steht und <*> für fix integriert steht ist mir schon klar, aber würde es mir irgenwelche Vorteile bringen, wenn ich dieses Modul fix in den Kernel einbaue anstatt nur als ladbares Modul? ich brauche z.b. die netzwerkkarte sowieso immer, da muss es nicht ladbar sein!?
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 13.01.2007 22:21:04
Ich habe mir das jetzt noch genauer angeschaut
Es handelt sich um das Makefile im Hauptverzeichnis und die Änderung die du dort durchführen mußt ist trivial.
Der Patch geht von einer leeren Extraversion aus:
und möchte diese auf folgende verändern:
Im 2.6.19.2 ist die Extraversion aber nicht leer:
Du solltest diese daher auf
ändern. Kannst dir natürlich auch eine andere Extraversion einfallen lassen
Gruß
gms
-
Topspeed
- Beiträge: 34
- Registriert: 10.02.2006 14:08:18
Beitrag
von Topspeed » 14.01.2007 00:51:20
hi gms
vielen dank für den tipp!
ich habe das Makefile in den Sourcen abgeändert wie du vorgeschlagen hast:
leider erhalte ich bei den Befehl immer noch ein Fehlermeldung:
Code: Alles auswählen
/usr/src/linux-2.6.19.2-cks2# bzcat /usr/src/patch-2.6.19-cks2.bz2 | patch -p1
Makefile.rej:
Code: Alles auswählen
***************
*** 1,7 ****
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 19
- EXTRAVERSION =
NAME=Avast! A bilge rat!
# *DOCUMENTATION*
--- 1,7 ----
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 19
+ EXTRAVERSION = -cks2
NAME=Avast! A bilge rat!
# *DOCUMENTATION*
sollte ich nicht irgendwie das Patch-Script anpassen anstatt dem Makefile von den 2.6.19.2.Sourcen?
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 14.01.2007 01:08:34
Du hast 3 Möglichkeiten:
a) den Patch einpielen, den Fehler ignorieren und nachträglich die Extraversion anpassen
b) Im Makefile die Extraversion auf leer setzen, den Patch einspielen, dann sollte kein Fehler auftreten und danach diese Extraversion manuell auf ".2-cks2" umsetzen
c) den Patch bearbeiten und dort statt der "EXTRAVERSION = " ein "EXTRAVERSION = .2" eintragen, ist aber etwas heikel, da mußt du auch auf die Blanks aufpassen
Gruß
gms
-
Topspeed
- Beiträge: 34
- Registriert: 10.02.2006 14:08:18
Beitrag
von Topspeed » 14.01.2007 01:45:15
ah, jetzt ist der groschen gefallen!
Vielen Dank an gms!
-
Six
- Beiträge: 8071
- Registriert: 21.12.2001 13:39:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Siegburg
Beitrag
von Six » 14.01.2007 02:36:05
Topspeed hat geschrieben:hallo six
vielen Dank für deine Antwort!
das <m> für Module steht und <*> für fix integriert steht ist mir schon klar, aber würde es mir irgenwelche Vorteile bringen, wenn ich dieses Modul fix in den Kernel einbaue anstatt nur als ladbares Modul? ich brauche z.b. die netzwerkkarte sowieso immer, da muss es nicht ladbar sein!?
Das ist eine Glaubensfrage. Ich z. B. bevorzuge mittlerweile Module, weil ich mir die Option erhalten möchte, bestimmte Hardware gelegentlich _nicht_ in Betrieb zu nehmen.
Be seeing you!