Debian Kernel kompilieren

jmar83

Routinier
Beiträge
285
hallo zusammen,

versuche schon seit tagen einen debian-kernel zu kompilieren. weil ich das modul "bbc_envctrl" haben muss, damit dieser infernalische krach der lüfter meiner sun blade 2000 verschwindet... nur gelingt das irgendwie (?) nicht...



folgendes habe ich gemacht:

1. zuerst xorg geupdated (hat nichts mit dem eignetlichen thema zu tun):

- debian 5.0.8 auf der blade 2000 installiert
- in der sources.list folgende einträge gemacht:
deb http://debian.ethz.ch/debian stable main contrib non-free
deb-src http://debian.ethz.ch/debian stable main contrib non-free
- apt-get clean / apt-get update
- apt-get install xserver-xorg

-> nach dem xorg-update wurde der kernel von 2.6.26-2-sparc64-smp nach 2.6.32-5-sparc64-smp automatisch geändert. leider ist aber auch dort kein "bbc_envctrl"-modul geladen :-(


2. also muss ich das mit dem module selbst bewerkstelligen

- apt-get install linux-source-2.6.32
- cd /usr/src
- tar xjf ./linux-source-2.6.32.tar.bz2
- cd linux-source-2.6.32
- apt-get install libncurses5-dev (notwendig für den nächsten schritt)
- make menuconfig
- in dieser oberfläche habe ich "bbc_envctrl" dann nicht als einzelnes module gewählt, sondern so dass es irgendwie (?) reinkompiliert wird. (bei der auswahl nicht ein 'M', sondern ein '*')
- apt-get install build-essential (notwendig für den nächsten schritt)
- make-kpkg clean
- fakeroot make-kpkg --initrd --revision=custom1.0 kernel_image
- dann x stunden warten
- anschliessend habe ich ein .deb-file unter /usr/src/, welches den neu kompilierten kernel beinhaltet, dieses wird mit dpkg -i DATEINAME installiert. dies gemäss der anleitung unter http://www.debian.org/releases/stable/i386/ch08s06.html.en automatisch, aber leider klapp das nicht

....kann mir jemand helfen? dann könnte ich die gute alte kiste (die damals mindestens soviel gekostet hat wie ein kleinwagen) für debian nutzen. solaris mag ich nicht wirklich, bei linux kann man wenigstens diverse hardware nutzen. (z.b. habe ich eine soundblaster pci 128 in die blade eingebaut, welche super funktionert...) was die sw betrifft sieht es bei linux auch besser aus als bei solaris. solaris geht als workstation meinetwegen in forschung oder engineering bei speziellen applikationen.

was mir noch aufgefallen ist, ist dass in der silo.conf plötzlich 2 einträge sind : "Linux" sowie "LinuxOLD". ich starte immer noch wie immer mit "boot disk Linux" im open boot prompt...


besten dank im voraus!

NACHTRAG: der neu geholte source ist überigens die version 2.6.32-38-sparc64-smp

grüsse, jan
 

Goodspeed

Foren Gott
Moderator
Beiträge
4.168
- anschliessend habe ich ein .deb-file unter /usr/src/, welches den neu kompilierten kernel beinhaltet, dieses wird mit dpkg -i DATEINAME installiert. dies gemäss der anleitung unter http://www.debian.org/releases/stable/i386/ch08s06.html.en automatisch, aber leider klapp das nicht
Den letzten Teil hab ich nicht verstanden ... was geht jetzt nicht??
Hast Du mittels dpkg das Paket erfolgreich installiert?
Liegt unter /boot der neue Kernel?
 

jmar83

Routinier
Beiträge
285
hallo goodspeed,

wenn ich starte, ergibt ein uname -r immer noch die version 2.6.32-5...

ja, der vorgang wurde aber erfolgreich (zumindest ohne fehlermeldungen) ausgeführt, nachdem ich dpkg -i DATEINAME.deb ausgeführt habe.

unter /boot befindet sich neu:

ein verz. "config-2.6.32"
eine datei "system.map-2.6.32"
eine datei "vmlinuz-2.6.32"


daneben gibt es dir alten files der vorherigen kernel 2.6.26-2 sowie 2.6.32-5, allerdings tragen die alle das postfix " -sparc64-smp", also:

ein verz. "config-2.6.32-5-sparc64-smp"
eine datei "system.map-2.6.32-5-sparc64-smp"
eine datei "vmlinuz-2.6.32-5-sparc64-smp"


respektive

ein verz. "config-2.6.26-2-sparc64-smp"
eine datei "system.map-2.6.26-2-sparc64-smp"
eine datei "vmlinuz-2.6.26-2-sparc64-smp"


warum fehlt bei den neuen files die hinterste versionsnummer (nur 2.6.32 obwohl 2.6.32-38) sowie das postfix " -sparc64-smp"? könnte das daran liegen, dass ich ursprünglich den quellcode in das verz. /usr/src/linux-source-2.6.32 (statt nach /usr/src/linux-source-2.6.32-38-sparc64-smp) entpackt habe???


scheinbar müssen nur noch irgendwie die entsprechenden einträge gemacht werden, und ich weiss nicht mehr wirkloch weiter... in silo.conf ist für das obp-kommand "boot disk Linux" ein verweis aus die datei /boot/initrd.img gesetzt

und komischerweise sieht man die initd.img-files der alten kernel-versionen, jeweils 1x normal mit ensprechendem versions-postfix und das gleiche noch mal jedoch mit .bak-extension... das sieht doch irgendwie ganz danach aus dass der letzte 2.6.32-5er-kernel ausgetauscht wurde...

...jedoch gibt ein uname -r immer noch 2.6.32-5!
 

Goodspeed

Foren Gott
Moderator
Beiträge
4.168
Also ... ist zwar schon etwas länger her, dass ich selber bauen musste, aber ...
Der Kernel heißt von Haus aus nur 2.6.32. Alles andere sind Versionierungen, um mehrere parallel zu halten. Für eine solche Versionierung gibt es den Parameter --append-to-version (siehe man make-kpkg). '--revision' sorgt nur dafür, dass das Paket selbst eine "Version" bekommt ... ist also quasi nur für die Paketverwaltung.

Mit silo kenn ich mich leider (mangels Sparc) nicht aus ... aber irgendwo muss doch stehen, auf welchen Kernel Linux bzw. LinuxOLD zeigt. Gibt es vielleicht unter / entsprechende Links auf die Kernel-Images?
 

jmar83

Routinier
Beiträge
285
hallo GoodSpeed,

danke für dein feedback.

dann gibt es auf den quellecode bezogen nur eine variante, z.b. des kernals 2.6.32? die letzte ziffer wird also nicht gebraucht, um verschiedene versionen des quellcodes auseinanderzuhalten sondern ist für den benutzer, um kernel (gleicher versionen), z.b. mit unterschiedlichen kompilierungsoptionen, eindeutig zu halten?

gruss & schönes feiertage,
jan
 

Goodspeed

Foren Gott
Moderator
Beiträge
4.168
Ja und nein :)
Die "--revision"-Version sorgt dafür, dass Du Pakete aktualisieren kannst. Bei der installation der Version 5 würde Version 4 entfernt, da es das selbe Paket ist, nur halt "aktueller".
Die "--append-to-version"-Version sorgt für "parallele" Pakete. Das macht halt Sinn (z.B. beim Kernel), wenn man verschiedene Konfigurations- und Optimierungsoptionen oder verschiedene Patches verwenden will.

Der Kernel-Quellcode liegt z.B. im Augenblick als Paket linux-source-2.6.32_2.6.32-38_all.deb vor. Es ist also die 38.Version des Kernel-Paketes (Änderungen siehe Changelog). Man kann es aber halt nicht parallel zur Version linux-source-2.6.32_2.6.32-37_all.deb installieren.

Kernel-Image-Pakete gibt es aber z.B. linux-image-2.6.32-5-amd64_2.6.32-38_amd64.deb.
Das könnte parallel zum Pakete linux-image-2.6.32-4-amd64_2.6.32-38_amd64.deb installiert werden, würde aber vom Paket linux-image-2.6.32-5-amd64_2.6.32-39_amd64.deb ersetzt.

Komplett verwirrt? ;)
 

jmar83

Routinier
Beiträge
285
hallo Goodspeed,

nein, soweit klar, danke ;-)

habe das problem jetzt hardwaremässig gelöst (finanziell könnte man auch sagen) gelöst, und einen blade 2500 aufgetrieben. damit kann man unter linux vernünftig was machen...

andererseits: wenn man beim blade 2000 das passendste os installiert (solaris) geht der ab wie eine rakete und auch ohne lüfterkrach. zumindest für sein alter eine rakete, habe eclipse geholt und installiert - das läuft wirklich super. fast, aber nur fast so gut wie auf einem akktuellen computer mit einer cpu mit x kernen uws.

schon erstaunlich, für einen rechner der fast 10 jahre (?) alt ist. (bin mir nicht mehr sicher, wann die blade 2000 herausgekommen ist...)


grüsse, jan
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

OpenJDK8 unter Debian7.11/sparc64/kernel 3.16 kompilieren

xserver startet nicht: no screens

Samba + CTDB auf Debian aus Repos

gnome-session downgrade per apt-get?

Oben