anfängerfrage - source - image

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
michian
Beiträge: 167
Registriert: 19.01.2005 12:01:31

anfängerfrage - source - image

Beitrag von michian » 01.04.2005 06:20:05

hallo,

jetzt licke ich mich nimma durch :?

habe "standard" sarge-installation und würde gerne kernel-2.6.10 oder .11 verwenden.

was brauche ich nun?
kernel-image, kernel-source?
patch nicht, dazu brauche ich mal source wahrscheinlich, oder?

könntet ihr mir bitte auf die sprünge helfen?

danke

michael

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 01.04.2005 07:13:55

dazu gibt es zwei möglichkeiten:

1.) du gibst vorübergehend sid-paketquellen (sid=unstabel) in der Datei /etc/apt/sources.list an, gefolgt von einem ...# apt-get update und installierst dann den entsprechenden kernel (siehe [2]). danach nicht vergessen wieder auf sarge paketquellen zurückzustellen.

2.) du holst dir die sourcen unter http://www.kernel.org und kompilierst selber

Mit Variante 1 kannst du die neueren kernel fertig beziehen (siehe [1]) oder -- wenn du willst -- auch deren quellcodes.

edit: Link [2] eingefügt

[1] http://packages.debian.org/cgi-bin/sear ... chon=names
[2] http://www.debianforum.de/forum/viewtop ... highlight=

michian
Beiträge: 167
Registriert: 19.01.2005 12:01:31

Beitrag von michian » 01.04.2005 10:10:08

Nur noch zum besseren Verständnis (für mich) :oops:

zum Backen gibt es:

kernel-image mit apt-get = Fertigteig ... quasi nur auftauen und servieren

kernel-sourcen mit apt-get = alle Zutaten für eine Sarge-Torte ... für Sarge optimierter (angepasster) Linux-Kernel

kernel-sourcen von kernel.org = alle nur erdenklichen Zutaten zum Backen

Habe ich das so richtig behirnt?
Was der Vanilla-Kernel ist traue ich mich gar nicht zu fragen :wink:

Noch einmal, tut mir leid für die Fragen. Ich weiß, das steht alles im Internet - aber versucht einmal auf diese Fragen eine kurze und klare Antwort zu finden, ich hab's nicht geschafft :lol:

Vielen Dank!!

Michael

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 01.04.2005 10:49:28

kernel-image mit apt-get = Fertigteig ... quasi nur auftauen und servieren
...quasi :wink: die oben unter [1] angegebene anleitung installiert einen debian-standardkernel. durchbooten und fertig (wenn grub/lilo vorher wie angegeben angepaßt wurde).
kernel-sourcen mit apt-get = alle Zutaten für eine Sarge-Torte ... für Sarge optimierter (angepasster) Linux-Kernel
...fast. sarge baut auf dem 2.6.8er kernel auf, neuere kernels (>2.6.8er) gibt es nur in unstable (=sid). generell gilt: kernel sourcen die von debian zur verfügung gestellt werden, werden (zumindest in woody und sarge) gewartet (sicherheitspatches) und ggf. gem. den debian richtlinien angepaßt (nicht völlig frei verwendbarer/modifizierbarer code wird entfernt, z.b. w-lan treiber)
kernel-sourcen von kernel.org = alle nur erdenklichen Zutaten zum Backen
... nein, sind im wesentlichen die gleichen kernels wie bei debian, allerdings ist teils code enthalten, die gem. den vorstellungen des debian-teams nicht "frei" sind. es kann u.u. notwendig werden auf diese kernels zurückzugreifen, wenn man die entsprechenden treiber dennoch benötigt (siehe obiges beispiel). das backen eines eigenen kernels läuft bei beiden daher gleich ab.

Eines muß die klar sein: wenn du einen eigenen kernel bäckst (ist wirklich kein mirakel, wenn man sich damit einmal auseinandergesetzt hat) und es werden bestehende sicherheitslücken in folgekerneln behoben, erfordert dies jedesmal ein neukompilieren des neuen kernels mit dem angepaßten sourcecode (entweder über patchen oder neu herunterladen der neuesten version). diese arbeit fällt bei installation eines kernel-images weg, da das debian-team sich darum kümmert. bei einem update des systems (apt-get upgrade) wird dann der alte automatisch durch den jeweils aktuellsten ersetzt.

dies ist IMHO nach aber nur von belang, wenn die maschine im produktiveinsatz ist und einer entsprechenden "feindlichen" umgebung ausgesetzt ist. ich arbeite derzeit noch mit einem 2.6.7er kernel und werde irgendwann auf eine neuere kernelversion umsteigen. der "alte" 2.6.7 kernel unterstützt jedenfalls alle meine geräte (siehe footer) bislang ohne probs.

michian
Beiträge: 167
Registriert: 19.01.2005 12:01:31

Beitrag von michian » 04.04.2005 07:39:48

vielen dank für die auasführliche beschreibeung.

jetzt weiß ich wenigstens halbwegs bescheid - zusammengebracht hab' ich noch nix :roll:

michael

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 04.04.2005 09:11:25

...wo liegt das problem?

michian
Beiträge: 167
Registriert: 19.01.2005 12:01:31

Beitrag von michian » 04.04.2005 09:33:46

...wo liegt das problem?
es war mein erster kernelback-versuch.

auswendig weiß ich es jetzt nimma genau, aufgeschrieben habe ich es auch nicht und der pc steht zu hause.

ich habe kernel-source-2.6.11 per apt geholt.
make oldconfig
make dep && make clean && make bzImage
make modules && make modules install
makeinitd .... das weiß ich jetzt nimma wie der geheißen hat - einbafehl, den ich hier gefunden habe um das init.....img zu erstellen

nach dem booten erscheint nix .... also die bootauswahl und dann nix, also gar nix, keine kernelpanic sondern einfach nix.

ich bin sicher das ich totalen blödsinn gemacht hab'!

ich glaube ich werde mir den rechner einmal ins büro mitnehmen und sehen ob ich mit sid-netintstaller vielleicht endlich meinen dell SATA in betrieb kriege :roll:

danke

michael

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 04.04.2005 12:39:40

zum thema initrd kannst' hier im forum mal lesen ohne ende :wink: grundsätzlich: wenn man den kernel richtig konfiguriert, benötig man die initrd nicht, sie ist eigentlich nur für generische kernel (die bei den distris dabei sind und auf jeder kiste laufen sollen) insteressant. bindet man die treiber zum lesen der root-partition (filesystem, hdd-treiber usw.) fest im kernel ein (also nicht als modul), bracht man die initrd schlicht nicht.

das konfigurieren des kernels ist zwar langwierig, aber kein wirklicher stunt. wenn du möchtest, schick' ich dir meine 2.6.7er config per PM als vorlage.

also: kernel mit

Code: Alles auswählen

...# make clean
...# make menuconfig
konfigurieren, danach mittels

Code: Alles auswählen

...# make-kpkg clean
...# make-kpkg buildpackage --revision=Custom.x
wobei du optional mit Custom.x eine revisionsnummer mitgeben kannst (ist nützlich, wenn man den kernel testet und den effekt verschiedener kernel-optionen prüfen will). paßt alles, so finden sich im verzeichnis /usr/src 4 pakete: kernel-doc, kernel-headers, kernel-image und kernel-source, alle als .deb dateien. das installieren geht (als beisp.) über

Code: Alles auswählen

...# dpkg -i kernel-image-2.6.7_Custom.x_i386.deb
sollte es beim einspielen des neuen kernels probs geben, weil eine frühere revision gebootet wurde:

Code: Alles auswählen

...# rm -r /lib/modules/2.6.7
gefolgt von

Code: Alles auswählen

...# cd /usr/src
...# dpkg -i kernel-image-2.6.7_Custom.x_i386.deb
und grub anpassen nicht vergessen. fertig.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 04.04.2005 13:08:40

steos hat geschrieben:grundsätzlich: wenn man den kernel richtig konfiguriert, benötig man die initrd nicht, sie ist eigentlich nur für generische kernel (die bei den distris dabei sind und auf jeder kiste laufen sollen) insteressant. bindet man die treiber zum lesen der root-partition (filesystem, hdd-treiber usw.) fest im kernel ein (also nicht als modul), bracht man die initrd schlicht nicht.
aufpassen - entscheident ist wie groß das kernel image ist und nicht welche treiber fest integriert sind oder nicht usw. ...

http://www.debianforum.de/forum/viewtop ... 999#258999

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 04.04.2005 13:13:34

Im Normalfall wird der Kernel nicht zu groß sein.
Wenn mann jedoch nicht exakt das richtige _fest_ in den Kernel einbindet ist man halt geliefert. So gesehen stimmt beides.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 04.04.2005 13:21:47

Trigger. hat geschrieben:Im Normalfall wird der Kernel nicht zu groß sein.
was ist der normalfall ...? hast du schon versucht einen kernel zu machen der - mit den fest in den kernel integrierten treibern usw. nicht größer als 640kB ist - aus deiner aussage schließe ich das dem nicht so ist ...
Wenn mann jedoch nicht exakt das richtige _fest_ in den Kernel einbindet ist man halt geliefert.
das richtige ... ? was in den kernel kommt hängt ab welche hardware man hat, einzelplatz rechner oder cluster, welche dienste, und und und ...

dann hat man noch die möglichkeit - bei einem monolitic kernel (linux kernel ist einer) - sachen per modul zu laden ... das ist aber schon etwas offtopic - aber was ist nun das richtige ...? - einen pauschal aussage wie oben macht keinen sinn
So gesehen stimmt beides.
nein! - entscheident ist wie groß das kernel image ist um vollständig ohne initrd file und ramdisk im real mode einen pc starten zu können

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 04.04.2005 13:29:52

meandtheshell hat geschrieben:
Trigger. hat geschrieben:Im Normalfall wird der Kernel nicht zu groß sein.
was ist der normalfall ...? hast du schon versucht einen kernel zu machen der - mit den fest in den kernel integrierten treibern usw. nicht größer als 640kB ist - aus deiner aussage schließe ich das dem nicht so ist ...
Ich komme komplett ohne Initrd aus und habe alles drin was man braucht...
meandtheshell hat geschrieben:
Wenn mann jedoch nicht exakt das richtige _fest_ in den Kernel einbindet ist man halt geliefert.
das richtige ... ? was in den kernel kommt hängt ab welche hardware man hat, einzelplatz rechner oder cluster, welche dienste, und und und ....
Und wo ist jetzt der Wiederspruch zu meiner Aussage??
meandtheshell hat geschrieben:
So gesehen stimmt beides.
nein! - entscheident ist wie groß das kernel image ist um vollständig ohne initrd file und ramdisk im real mode einen pc starten zu können.
Ähm wieso nein?
Der Kernel muss klein genug sein _und_ man muss die richtigen Module fest für seinen Kernel einbinden - also gilt beides, oder sehe ich das falsch?

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 04.04.2005 14:35:44

IMHO wird man es in der regel nicht schaffen, daß der kernel zu groß wird. bei mir ist ne' menge zeug fest im kernel eingebunden (siehe hardware liste im footer), nur das was ich gelegentlich brauche ist als modul definiert. hatte bislang noch nie probs.

@meandtheshell: thanx für den hinweis. wurde bei mir -- gottlob -- noch nie schlagend...

Antworten