Start   Impressum   Lizenz         online lesen   Download         Online-Shop   Jumping Blue Turtle

Debian für Unternehmer - Debian-Know-how

1120: Kernel an die Hardware anpassen

Debian Lenny installiert sich standardmäßig mit einem Linux-Kernel, der für einen 686er optimiert ist. Sie sollten ihn durch einen Kernel ersetzen, der auch die Fähigkeiten Ihrer tatsächlich im Rechner verbauten CPU ausnutzen kann.

1. Diagnose 1 - Welcher Kernel läuft aktuell?

Finden Sie heraus, welcher Kernel aktuell auf Ihrem System läuft. Den aktuell laufenden Kernel bekommen Sie so heraus:

cat /proc/version

Oder so:

uname -r

Der erste Befehl gibt Ihnen eine sehr ausführliche Kennung zurück, der zweite eine sehr kurze. Das Resultat 2.6.26-2-686 sagt Ihnen, dass aktuell ein 686-Kernel auf Ihrem Rechner läuft.

2. Diagnose 2 - Welche Kernel gibt es?

Finden Sie heraus, welche Kernel Sie auf Ihrem Rechner installieren könnten. Eine Übersicht Ihrer Möglichkeiten bekommen Sie wie folgt:

apt-cache search linux-image

Wenn Sie sich von der Menge dieses Resultats erschlagen fühlen, können Sie die Suche auch einschränken auf das, was Sie tatsächlich suchen. Hier ein paar Beispiele:

apt-cache search linux-image-2.6
apt-cache search image bigmem

3. Kernel Images installieren

Sie können gleich mehrere Kernel installieren und diese nach Belieben testen. Debian trägt automatisch alle installierten Kernel-Images in das Bootmenü ein. Über das Bootmenü wählen Sie anschließend aus, mit welchem Kernel Sie Ihr System starten möchten.

Für den hier empfohlenen Referenzrechner ist eigentlich nur ein Bigmem-Kernel sinnvoll. Den können Sie sich wie folgt installieren:

apt-get install linux-image-2.6-686-bigmem

Der Vorteil der Installation mehrerer Kernel ist, dass Sie weniger Risiken eingehen. Wenn ein exotischer Kernel nicht funktioniert, dann booten Sie nach erfolgtem Rechnerabsturz einfach einen anderen Kernel.

Nach erledigter Arbeit starten Sie Ihren Rechner neu, damit Sie gleich in den Kernel Ihrer Wahl hineinbooten können:

reboot

4. Wissenswertes über Kernel

Im Laufe der Zeit fällt bei mir einiges an Wissen zum Thema "Kernel" an. Dieses Wissen wird entsprechend hier konserviert:

Etwas zum Thema Speicherverwaltung
  • Kernel, die für bis zu 486er-Systeme ausgelegt sind, können RAM bis zu 1 GB nutzen.
  • Kernel für 686er- oder K7-Systeme sind sogenannte Highmem-Kernel und können RAM bis zu 4 GB nutzen. Da die moderne PC-Architektur Löcher im Speicherraum irgendwo zwischen den Adressen 3 GB und 3,5 GB aufweist, werden diese Kernel real aber keine 4 GB RAM nutzen können, sondern nur ungefähr 3,5 GB.
  • Wegen der 4-GB-Grenze bei 32-Bit-Architekturen gibt es spezielle Bigmem-Kernel, die die Bezeichnung "bigmem" im Dateinamen tragen. Diese Kernel können bis zu 64 GB RAM nutzen. Bei Rechnern, die mit 4 GB RAM bestückt sind, können Bigmem-Kernel die gesamten 4 GB nutzen.
    • Grund: Aufgrund des Lochs zwischen 3 GB und 3,5 GB wird der RAM jenseits der 3 GB zwischen 3,5 GB und 4,5 GB eingeblendet. Und nur ein Bigmem-Kernel, der auf Bereiche jenseits der 4-GB-Marke zugreifen kann, kann die restlichen 500 MB des RAMs noch nutzen.
    • Etwas mehr Hintergrundwissen: Bigmem-Kernel nutzen eine Physical Address Extension, was häufig auch als "PAE" abgekürzt wird. PAE nutzt den Umstand, dass Prozessoren ab Intel Pentium Pro und ab AMD Athlon einen 36 Bit breiten Adressbus besitzen. Mit der Formel 2^36 ergibt das dann 64 GB RAM, der maximal adressiert werden kann. Allerdings ist der pro Prozess nutzbare Speicher weiterhin auf 4 GB begrenzt.
  • Noch mehr Details zum Linux-Speichermanagement gibt es hier:
Thema K7
  • Die Weiterentwicklung von K7-Kerneln wurde eingestellt. Laut Bug 454777 wird der Wechsel zu einem etwas weniger leistungsfähigen 686er Kernel empfohlen.
  • Da ich "amd64"-Kernel für noch zu gewagt halte, bleibt ein 686er Kernel die einzige sinnvolle Alternative.
Die Namen der Pakete
  • In früheren Debian-Versionen hießen die Pakete, die die Kernel enthielten, "kernel-image-*".
  • Zu Etch-Zeiten gab es eine Umstellungsphase, die mit Lenny abgeschlossen wurde.
  • In heutigen Debian-Versionen heißen die Pakete, die die Kernel enthalten, "linux-image-*".

 

Zugriff jenseits der 4,0 GB bei einem Speicherloch

Vergleich eines normalen 686er-Kernels mit einem 686er-Bigmem-Kernel auf dem Referenzrechner:

  • Aufruf von "free -m" mit einem 686er-Kernel unmittelbar nach einem Reboot:
    • total = 3418 MB
    • used = 31 MB
    • free = 3387 MB
  • Aufruf von "free -m" mit einem 686er-Bigmem-Kernel unmittelbar nach einem Reboot:
    • total = 3926 MB
    • used = 32 MB
    • free = 3894 MB