Debian Kernel kompilieren: Unterschied zwischen den Versionen

Aus MySlug
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „Nun läuft ein selbstkompilierter 2.6.28.3er Kernel (64bit) bei mir. Der Versionssprung von 2.6.26 auf den 28er ist relativ groß. Von daher habe ich erstmal eine...“
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Nun läuft ein selbstkompilierter 2.6.28.3er Kernel (64bit) bei mir. Der Versionssprung von 2.6.26 auf den 28er ist relativ groß. Von daher habe ich erstmal einen fertigen Kernel installiert und auf Basis diesen einen neuen Kernel gebaut. Hier mal die einzelnen Schritte:<br>
<div style="float:left;text-align:center;padding-right:20px">
<br>
[[Bild:kernel.png|Tux]]
Zuerst fügen wir ein neues Softwarerepository hinzu:
<br />
<code><pre>nano /etc/apt/sources.list</pre></code>
''Tux''</div>'''Kernel Compile Quickdone auf einem Debian 6 Squeeze'''''Kursiver Text''
Dort dann folgende Zeile einfügen:
<br /><br />
<code><pre>deb http://kernel-archive.buildserver.net/debian-kernel/ trunk main</pre></code>
Dieses Beispiel basiert auf dem derzeit aktuellen Linux Kernel 3.6.3. Gegebenenfalls sind hier die Versionsnummern im Tutorial entsprechend anzupassen.
Danach den Key importieren:
<br /><br />
<code><pre>wget -q -O - http://kernel-archive.buildserver.net/key | apt-key add -</pre></code>
Folgende Pakete müssen installiert sein:
Wir frischen die Softwareliste auf:
<br /><br />
<code><pre>apt-get update</pre></code>
'''kernel-package'''<br />
und installieren einen neuen Kernel:
'''libncurses5-dev'''<br />
<code><pre>apt-get install linux-image-2.6.28-1-amd64</pre></code>
'''build-essential'''<br />
Nun können wir das Repository wieder deaktivieren. Dazu in der '''/etc/apt/sources.list''' die gerade hinzugefügte Zeile mit einem '''#''' auskommentieren. Dann nochmal ein
'''wget'''
<code><pre>apt-get update</pre></code>
<br /><br />
fahren. Danach die Kiste neu starten. Jetzt lasst den Rechner mit dem neuen 2.6.28er Kernel hochfahren.<br>
optional:''' mc'''
<br>
 
Danach installiert nun folgende Pakete:
<code><pre>
<code><pre>apt-get install kernel-package libncurses5-dev build-essential mc wget zlib1g-dev</pre></code>
apt-get install kernel-package libncurses5-dev build-essential mc wget</pre></code>
Jetzt geht wie gewohnt vor. Für den 2.6.28.3er Kernel sieht das dann so aus (für die jeweilige Kernelversion die Versionsnummer anpassen):
 
<code><pre>cd /usr/src
Jetzt beginnen wir mit dem Kernelcompile, indem wir die Sourcen herunterladen, entpacken, konfigurieren und kompilieren:
 
<code><pre>
cd /usr/src
rm linux
rm linux
wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.3.tar.bz2
wget ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.6.3.tar.bz2
tar xvfj linux-2.6.28.3.tar.bz2
tar xvfj linux-3.6.3.tar.bz2
ln -s linux-2.6.28.3 linux
ln -s linux-3.6.3 linux
cd linux
cd linux
make proper
make proper
make oldconfig</pre></code>
make oldconfig</pre></code>
Sollten spezielle Anpassungen gemacht werden:
Sollten spezielle Anpassungen gemacht werden:
<code><pre>make menuconfig</pre></code>
<code><pre>
Dann weiter mit
make menuconfig</pre></code>
<code><pre>make-kpkg --initrd kernel_image --revision KernelRebuild.01
Dann weiter mit dem Compile:
<code><pre>
make-kpkg --initrd kernel_image --revision KernelRebuild.01</pre></code>
Wenn Ihr screen und einen Dualcore Prozessor einbinden wollt, dann lautet der Befehl
 
<code><pre>
CONCURRENCY_LEVEL=5 screen make-kpkg --initrd kernel_image --revision KernelRebuild.01</pre></code>
( statt der 5 bei einem Quadcore dann die 9. Also 2x Kerne + 1)
 
<code><pre>
cd /usr/src</pre></code>
cd /usr/src</pre></code>
Hier bitte das entsprechende Paket einsetzen (z.B.):
Hier bitte das entsprechende Paket einsetzen (z.B.):
<code><pre>dpkg -i kernel-image-2.6.28.3_KernelRebuild.01_amd64.deb</pre></code>
<code><pre>
Rechner neu starten.<br>
dpkg -i kernel-image-3.6.3_KernelRebuild.01_i386.deb</pre></code>
<br>
 
Auf dem Atom kann das allerdings seine Zeit dauern. Von daher plant mal 2 bis 3 Stunden Zeit ein. Demzufolge empfiehlt es sich, den '''make-kpkg''' innerhalb einer '''screen''' Session laufen zu lassen, wenn alles über einen ssh login passiert.<br>
Rechner neu starten.
<br>
<br /><br />
Wenn alles gut gelaufen ist, dann startet der Rechner durch und Ihr könnt Euch den neuen Kernel anzeigen lassen:
cu<br />
<code><pre>uname -a
Linux homeserver 2.6.28.3.gargi #1 SMP Mon Feb 2 21:38:12 CET 2009 x86_64 GNU/Linux</pre></code>
cu<br>
Gargi
Gargi
<br />
<br />
'''Kernel:''' http://www.kernel.org<br />
'''Debian:''' http://www.debian.org
<br />
<br />

Version vom 25. Oktober 2012, 05:28 Uhr

Tux

Tux

Kernel Compile Quickdone auf einem Debian 6 SqueezeKursiver Text



Dieses Beispiel basiert auf dem derzeit aktuellen Linux Kernel 3.6.3. Gegebenenfalls sind hier die Versionsnummern im Tutorial entsprechend anzupassen.

Folgende Pakete müssen installiert sein:

kernel-package
libncurses5-dev
build-essential
wget

optional: mc

apt-get install kernel-package libncurses5-dev build-essential mc wget

Jetzt beginnen wir mit dem Kernelcompile, indem wir die Sourcen herunterladen, entpacken, konfigurieren und kompilieren:

cd /usr/src
rm linux
wget ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.6.3.tar.bz2
tar xvfj linux-3.6.3.tar.bz2
ln -s linux-3.6.3 linux
cd linux
make proper
make oldconfig

Sollten spezielle Anpassungen gemacht werden:

make menuconfig

Dann weiter mit dem Compile:

make-kpkg --initrd kernel_image --revision KernelRebuild.01

Wenn Ihr screen und einen Dualcore Prozessor einbinden wollt, dann lautet der Befehl

CONCURRENCY_LEVEL=5 screen make-kpkg --initrd kernel_image --revision KernelRebuild.01

( statt der 5 bei einem Quadcore dann die 9. Also 2x Kerne + 1)

cd /usr/src

Hier bitte das entsprechende Paket einsetzen (z.B.):

dpkg -i kernel-image-3.6.3_KernelRebuild.01_i386.deb

Rechner neu starten.

cu
Gargi

Kernel: http://www.kernel.org
Debian: http://www.debian.org