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:
- aptosid-686 - Kernel für die i686-Prozessorfamilie mit Single/Dual/Multi Core Prozessoren
- aptosid-amd64 - Kernel für 64 bit aptosid
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