Neue Kernel installieren

Die Kernel von aptosid befinden sich im aptosid-Repository als .deb und werden bei einer Systemaktualisierung automatisch berücksichtigt.

Folgende Kernel sind verfügbar:

Schritte einer Kernel-Aktualisierung ohne Systemaktualisierung (dist-upgrade):

1. Aktualisierung der Paketdatenbank:

apt-get update

2. Installation des aktuellen Kernels:

apt-get install linux-image-aptosid-686 linux-headers-aptosid-686

Neustart des Computers, um den neuen Kernel zu laden.

Falls sich mit dem neuen Kernel Probleme zeigen, kann man nach einem Neustart einen älteren Kernel wählen.

Module

Mit diesem Befehl können die benötigten Module ermittelt werden (bitte kopieren und in eine Konsole einfügen):

apt-cache search 2.6.*.slh.*-aptosid| awk '/modules/{print $1}'

Damit erhält man eine ausführliche Beschreibung eines jeden Moduls (bitte kopieren und in eine Konsole einfügen):

apt-cache search 2.6.*.slh.*-aptosid

So installiert man benötigte Module (zum Beispiel virtual-ose und qc-usb):

apt-get install virtualbox-ose-modules-2.6.24-2.6.24.2.slh.7-aptosid-686 (BEISPIEL)
apt-get install qc-usb-modules-2.6.24-2.6.24.2.slh.7-aptosid-686 (BEISPIEL)

So überprüft man, welche Module in den Kernel geladen sind:

ls /sys/module/
oder
cat /proc/modules

Modulinstallation mittels "Dynamic Module-Assistant Kernel Module Support" (dmakms)

dmakms ist sehr nützlich zur Installation von Kernelmodulen, für die es keine vorkompilierten Module für den aptosid-Kernel gibt. Dieses Programm automatisiert die Installation von Kernelmodulen mit module-assistant (m-a) bei einer Aktualisierung des Linux-Kernels.

apt-get install dmakms module-assistant

Vor der Aktivierung des "Dynamic Module-Assistant Kernel Module Support" müssen die gewünschten Kernelmodule mittels module-assistant für den aktuell laufenden Kernel installiert werden. Mehr Informationen findet man auf der Informationsseite (manpage) von module-assistant:

man m-a

Der Name des zum module-assistant kompatiblen Pakets muss in die Konfigurationsdatei /etc/default/dmakms geschrieben werden, damit Vorbereitung und Installation der Module für jeden neuen Linuxkernel automatisiert wird.

Beispiel: Installation des Moduls speakup mit module-assistant

Man stellt sicher, dass contrib non-free in der Quellenliste /etc/apt/sources.list.d/debian.list angefügt ist:

apt-cache search speakup-s
speakup-source - Source of the speakup kernel modules

Vorbereitung des Moduls:

m-a prepare
m-a a-i speakup-source

Nun folgt die Aktivierung des "Dynamic Module-Assistant Kernel Module Support" für speakup, sodass bei der nächsten Kernelaktualisierung das Modul speakup ebenfalls vorbereitet wird, ohne dass man eingreifen muss. Dazu fügt man speakup-source in die Konfigurationsdatei /etc/default/dmakms ein.

mcedit /etc/default/dmakms
speakup-source

Dies wiederholt man für jedes Kernelmodul, das zu module-assistant kompatibel ist.

Die Linux-Headers müssen mit dem dazugehörigen Linux-Image installiert sein, damit module-assistand Kernelmodule kompilieren kann.

Wenn ein Modul nicht lädt

Falls ein Modul - aus welchem Grund auch immer (neue Xorg-Komponente o.a.) - nicht lädt:

modprobe <module>

und reboot.

Sollte das Modul nach dem Neustart immer noch nicht laden:

 m-a a-i -f module-source

Damit wird das Modul neu kompiliert, danach reboot.

Wie es funktioniert

"Dynamic Module-Assistant Kernel Module Support" besteht aus einem Initscript (/etc/init.d/dmakms), das beim Booten oder durch ein Script bei der Installation eines neuen Linux-Image aktiviert wird.

/etc/init.d/dmakms läuft bei jedem Bootvorgang, um jedes Modul-Quellpaket in der Liste von /etc/default/dmakms auf seine Aktualität zu prüfen und gegebenenfalls das Modul zu kompilieren und installieren.

Wenn ein neues Linux-Image installiert wird, wird /etc/init.d/dmakms mittels eines postinst-Aufrufs mit zwei Argumenten ('start' und 'version string' des Linux-Kernels) gestartet, um die neuen Kernelmodule vorzubereiten. Die Modulpakete, die in /etc/default/dmakms gelistet sind, werden von modul-assistant kompiliert und beim nächsten Shutdown (Herunterfahren des Rechners) installiert. Der Grund, warum die Installation während des Shutdowns durchgeführt wird, liegt darin, weil zu diesem Zeitpunkt apt/dpkg sicherlich nicht von einem anderen Prozess belegt sind.

$ /usr/share/doc/dmakms

Entfernen alter Kernel (kernel remover)

Nach erfolgreicher Installation eines neuen Kernels können alte Kernel entfernt werden. Es ist jedoch empfohlen, alte Kernel einige Tage zu behalten. Falls mit dem neuen Kernel Probleme auftauchen, kann in einen der alten Kernel gebootet werden, welche im Grub-Startbildschirm gelistet sind.

Zur Entfernung alter Kernel kann das Skript kernel-remover installiert werden:

apt-get update
apt-get install kernel-remover
Content last revised 15/09/2010 1025 UTC