Historische Kernel kompilieren

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche

Manchmal verlangt ein Produktivsystem oder der Test einer älteren Software inkl. Kernelmodule eine Kernelversion, die nicht mehr im Portage vorhanden bzw. nicht mehr als distfiles aufzutreiben ist. Für diese Fälle folgt eine kurze Anleitung, wie man sich unter Gentoo in solchen Situationen behelfen kann.

Zunächst läd man die benötigte Kernelversion von kernel.org herunter. Es wird nur die linux-version.tar.bz2 Datei benötigt.

Als nächstes werden ebenfalls die einzelnen Gentoo Patches für die benötigte Kernelversion von sources.gentoo.org heruntergeladen.

Den Kernel-Tarball in das Verzeichnis

/usr/src/linux-version-gentoo

entpacken und die einzelnen Gentoo Patches" per

patch -p1 < /pfad/patch-dateiname

einarbeiten.

Leider funktioniert genkernel nicht mehr mit historischen Kernelversionen, so dass hier empfohlen wird, den Kernel über den manuellen Weg zu erstellen (siehe Gentoo-Handbuch).

Auch ist die verwendete gcc nicht unerheblich, da viele frühere Kernelversionen sich nicht mit der gcc 4 fehlerfrei kompilieren lassen, so dass in diesen Fällen die gcc 3.4 herangezogen werden muss.

gcc-config gcc-3.4.x-Nummer
source /etc/profile

Jetzt kann der Kernel kompiliert werden:

make menuconfig
make 
make modules_install

um ihn dann entsprechend in das /boot-Verzeichnis zu kopieren:

cp arch/i386/boot/bzImage /boot/kernel-version-gentoo

Nicht vergessen, den Kernel in den Bootloader mit aufzunehmen und die gcc zurück zu schalten.

Ein Problem ist die Standardkonfiguration, da die manuelle Einstellung aller Kerneloptionen sehr zeitraubend ist. Daher die folgende Liste von gesammelten Standardkonfigurationsdateien für die jeweiligen Kernel. Hier nicht vergessen, vor dem Kompilieren bei den Kerneloptionen den richtigen Prozessor auszuwählen.

Kernelversion standard-config evtl. distfiles
2.6.0
2.6.1
2.6.2
2.6.3
2.6.4
2.6.5
2.6.6
2.6.7
2.6.8
2.6.9
2.6.10
2.6.11
2.6.12
2.6.13
2.6.14
2.6.15
2.6.16
2.6.17
2.6.18
2.6.19
2.6.20
2.6.21
2.6.22
2.6.23
'Persönliche Werkzeuge