Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
tux:kernel_update [2011/05/17 21:25] wikisysop [Kernel und Debian Paket bauen] |
tux:kernel_update [2012/04/19 14:05] (aktuell) wikisysop |
||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
===== Neuen Kernel in Debian (Squeeze) einspielen ===== | ===== Neuen Kernel in Debian (Squeeze) einspielen ===== | ||
- | Grundvoraussetzung für das Kompilieren eines neuen Linux Kernels in Debian, sind die Quellen. Man kann entweder auf die offiziellen Linux Kernel verwenden, welche auf www.kernel.org heruntergeladen werden können, oder die für Debian angepassten Quellen im Online Repository. In der Debian Variante sind idR bereits einige an die Distribution angepassten Patches enthalten, so dass Sie auf diese zurückgreifen sollten, sobald diese Quellen verfügbar sind. | + | Grundvoraussetzung für das Kompilieren eines neuen Linux Kernels in Debian, sind die Quellen. Man kann entweder auf die offiziellen Linux Kernel zurückgreifen, welche auf www.kernel.org heruntergeladen werden können, oder die für Debian angepassten Quellen im Online Repository. In der Debian Variante sind idR bereits einige an die Distribution angepassten Patches enthalten, so dass Sie auf diese zurückgreifen sollten, sobald diese Quellen verfügbar sind. |
\\ | \\ | ||
==== Kernel Quellen und notwendige Pakete installieren ==== | ==== Kernel Quellen und notwendige Pakete installieren ==== | ||
Zeile 14: | Zeile 14: | ||
<xterm># <fc #008000>aptitude install linux-source-2.6.38</fc></xterm> | <xterm># <fc #008000>aptitude install linux-source-2.6.38</fc></xterm> | ||
- | <fc #800000>**Note**</fc>: Zur Erstellung dieser Anleitung waren die Kernel Sources für das Release 2.6.18 noch nicht im normalen Repository verfügbar, Sie können aber aber über das >><fc #008000>Testing</fc><< State Repository bereits darauf zugreifen. Erweitern Sie Ihre >><fc #008000>/etc/apt/sources.list</fc><< dafür wie folgt mit der Zeile >><fc #008000><nowiki>deb http://ftp.debian.org/debian/ testing main contrib non-free</nowiki></fc><< und führen ein >><fc #008000>aptitude update</fc><< aus:\\ <file|/etc/apt/sources.list># deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official i386 NETINST Binary-1 20110205-14:34]/ squeeze main | + | <fc #800000>**Note**</fc>: Zur Erstellung dieser Anleitung waren die Kernel Sources für das Release 2.6.38 noch nicht im normalen Stable Archiv verfügbar, Sie können aber derzeit (05/11) über das >><fc #008000>Testing</fc><< Archiv bereits darauf zugreifen. Erweitern Sie Ihre >><fc #008000>/etc/apt/sources.list</fc><< dafür wie folgt mit der Zeile >><fc #008000><nowiki>deb http://ftp.debian.org/debian/ testing main contrib non-free</nowiki></fc><< und führen ein >><fc #008000>aptitude update</fc><< aus: |
+ | |||
+ | <file|/etc/apt/sources.list># deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official i386 NETINST Binary-1 20110205-14:34]/ squeeze main | ||
#deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official i386 NETINST Binary-1 20110205-14:34]/ squeeze main | #deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official i386 NETINST Binary-1 20110205-14:34]/ squeeze main | ||
Zeile 27: | Zeile 29: | ||
deb-src http://ftp.de.debian.org/debian/ squeeze-updates main | deb-src http://ftp.de.debian.org/debian/ squeeze-updates main | ||
- | deb http://ftp.debian.org/debian/ testing main contrib non-free</file>\\ <fc #800000>**Important**:</fc> Nachdem Sie die Kernel Quellen aus diesem Repository geladen haben, entfernen Sie bitte unbedingt diese Quelle wieder aus Ihrer >><fc #008000>sources.list</fc><< und führen ein >><fc #008000>aptitude update</fc><< erneut aus, andernfalls werden auch alle weiteren Pakete aus dieser - noch nicht wirklich freigegeben - Quelle geladen! | + | deb http://ftp.debian.org/debian/ testing main contrib non-free</file> |
+ | |||
+ | <fc #800000>**Important**:</fc> Nachdem Sie die Kernel Quellen aus dem >><fc #008000>Testing Archiv</fc><< geladen haben, entfernen Sie unbedingt diese Quelle wieder aus Ihrer >><fc #008000>sources.list</fc><< und führen erneut ein >><fc #008000>aptitude update</fc><< aus, andernfalls werden uU auch weiteren Pakete aus diesem - noch nicht wirklich freigegeben - Archiv geladen! | ||
Navigieren Sie nach >><fc #008000>/usr/src</fc><< und entpacken Sie das Archiv: | Navigieren Sie nach >><fc #008000>/usr/src</fc><< und entpacken Sie das Archiv: | ||
Zeile 132: | Zeile 136: | ||
==== Kernel und Debian Paket bauen ==== | ==== Kernel und Debian Paket bauen ==== | ||
- | Führen Sie das Kommando >><fc #008000>make-kpkg clean</fc><< aus, um die Verzeichnishirachie der Kernel-Quellen aufzuräumen und die >><fc #008000>kernel -package</fc><< Parameter zurückzusetzen. Dadurch wird zwar eine vollständige Neukompilierung des Kernels veranlasst, was je nach inkludierte Optionen und abhängig von der Leistungsfähigkeit des Rechners ca. eine Stunde bis hin zu mehreren Stunden dauern kann aber zB bei der Angabe einer neuen Kernelrevision notwendig sein: | + | Das Paket >><fc #008000>kernel-package</fc><< bringt das Programm >><fc #008000>make-kpkg</fc><< mit, welches unter Debian anstelle der Linux üblichen Kommandos >>make menuconfig; make dep; make bzImage; make modules<< verwendet werden kann. >><fc #008000>make-kpkg</fc><< bedient nun das Debian Paketmanagement (dpkg) adäquat und kompiliert den neuen Kernel, erzeugt je nach verwendeter Optionen ein über das Paketmanagement installierbares deb-Paket, welches neben dem Kernel auch gleich die Initial-RAM-Disk enthält, erteilt Revisionsnummern für das Paket-Management etc. |
+ | |||
+ | Führen Sie aber zuerst das Kommando >><fc #008000>make-kpkg clean</fc><< aus, um die Verzeichnishierachie der Kernel-Quellen aufzuräumen und die >><fc #008000>kernel -package</fc><< Parameter zurückzusetzen. Dadurch wird zwar eine vollständige Neukompilierung des Kernels veranlasst, was je nach inkludierter Optionen und abhängig von der Leistungsfähigkeit des Rechners ca. eine Stunde bis hin zu mehreren Stunden dauern kann aber zB bei der Angabe einer neuen Kernelrevision notwendig sein wird: | ||
<xterm>/usr/src/linux # <fc #008000>make-kpkg clean</fc></xterm> | <xterm>/usr/src/linux # <fc #008000>make-kpkg clean</fc></xterm> | ||
Zeile 139: | Zeile 145: | ||
<xterm>/usr/src/linux # <fc #008000>make-kpkg --rootcmd fakeroot kernel_image --revision pronto.1 --initrd</fc></xterm> | <xterm>/usr/src/linux # <fc #008000>make-kpkg --rootcmd fakeroot kernel_image --revision pronto.1 --initrd</fc></xterm> | ||
+ | |||
+ | * Die Optionen >><fc #008000>--rootcmd</fc><< und >><fc #008000>fakeroot</fc><< sind nur notwendig, wenn der User, welcher das Kommando ausführt nicht >><fc #008000>root</fc><< ist. | ||
+ | * Die Option >><fc #008000>kernel_image</fc><< ein Debian Paket mit dem Linux-Kernel, der aus dem Quellcode übersetzt wird und aller konfigurierten Module. | ||
+ | * Die Option >><fc #008000>--revision pronto.1</fc><< erzeugt eine Revisionsnummer (pronto.1) für das Debian Paket und wird eigentlich nur vom Paket-Management verwendet. | ||
+ | * Die Option >><fc #008000>--initrd</fc><< ruft alle zusätzlichen Aktionen auf, welche notwendig sind, eine passende Init-RAM-Disk zu erzeugen. | ||
Das fertige Paket liegt anschließend in >><fc #008000>/usr/src</fc><< und kann mit dem Befehl >><fc #008000>dpkg -i //[Paketname]//.deb</fc><< installiert werden: | Das fertige Paket liegt anschließend in >><fc #008000>/usr/src</fc><< und kann mit dem Befehl >><fc #008000>dpkg -i //[Paketname]//.deb</fc><< installiert werden: | ||
Zeile 144: | Zeile 155: | ||
<xterm># <fc #008000>dpkg -i //[Paketname]//.deb</fc></xterm> | <xterm># <fc #008000>dpkg -i //[Paketname]//.deb</fc></xterm> | ||
- | An dieser Stelle wird automatisch >><fc #008000>depmod</fc><< aufgerufen, was die Modulliste aktualisiert. Ferner wird die Initial Ramdisk automatisch erstellt (>><fc #008000>mkinitramfs-kpkg</fc><<) und der Bootloader Grub wird aktualisiert. Beim nächsten reboot, sollte Ihr System automatisch mit dem neuen Kernel starten. | + | An dieser Stelle wird automatisch >><fc #008000>depmod</fc><< aufgerufen, was die Modulliste aktualisiert. Ferner wird die Initial Ramdisk automatisch erstellt (>><fc #008000>mkinitramfs-kpkg</fc><<) und der Bootloader Grub2 wird aktualisiert. Beim nächsten reboot, sollte Ihr System automatisch mit dem neuen Kernel starten. |
<xterm># <fc #008000>reboot</fc></xterm> | <xterm># <fc #008000>reboot</fc></xterm> | ||
- | --- //pronto 2011/05/16 00:00// | + | {{ :tux:kernel_3.png |}} |
+ | |||
+ | --- //pronto 2011/05/16 00:00// ((http://debiananwenderhandbuch.de/kernelbauen.html))((http://newbiedoc.sourceforge.net/system/kernel-pkg.html)) |