Da im Kernel 2.6.26 im Debian Lenny ein Bug (Bug-ID 12687) enthalten ist, der auf einigen Maschinen das System kurzzeitig zum einfrieren bringt habe ich mich dazu entschieden, der Kernel 2.6.28-1 zu installieren.

    INFO: task cron:19767 blocked for more than 120 seconds.
    echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    cron          D 3b30efd5     0 19767   2884
            c1cd72c0 00000082 00000000 3b30efd5 0000750f c1cd744c c17cbfa0 00000000
            00000000 c01dcca6 00000001 00000000 f1269f24 0485cae6 c17cbfa0 c013604c
            7fffffff 7fffffff f1269f68 00000002 c02b84f1 c01344c2 00000000 00000000
     Call Trace:
      [<c01dcca6>] __next_cpu+0x12/0x21
      [<c013604c>] getnstimeofday+0x37/0xbc
      [<c02b84f1>] schedule_timeout+0x13/0x86
      [<c01344c2>] ktime_get_ts+0x22/0x49
      [<c01344f6>] ktime_get+0xd/0x21
      [<c01190e6>] hrtick_start_fair+0xeb/0x12c
      [<c02b7c15>] wait_for_common+0xaf/0x10f
      [<c011b682>] default_wake_function+0x0/0x8
      [<c0121b89>] do_fork+0x17f/0x1dc
      [<c0102173>] sys_vfork+0x18/0x1c
      [<c01038ce>] syscall_call+0x7/0xb
      =======================
     INFO: task cron:19768 blocked for more than 120 seconds.
     "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
     cron          D cd1314a4     0 19768   2884
            c1cd6ea0 00000082 00000000 cd1314a4 0000751a c1cd702c c17cbfa0 00000000
            00000000 c01dcca6 000020d4 00000000 c6381f24 04866280 c17cbfa0 c013604c
            7fffffff 7fffffff c6381f68 00000002 c02b84f1 c01344c2 00000000 00000000

    Da ich jedoch auch einen VMWare Server auf dem System laufen haben, muss ich die header Dateien ebenfalls herunteralden um die VMWare Module neu zu kompilieren. Die Header-Dateien sind wiederrum vom entsprechenden linux-kbuild-2.6 Paket abhängig, was nicht über apt-get installiert werden kann, selbst compiliert werden muss.

    Um dieses Paket nun zu kompilieren, müssen als erstes die entsprechenden Server in die sources.list aufgenommen werden, sowie der entsprechenden Schlüssel für die neuen Quellen importiert werden.

    wget -q -O - http://kernel-archive.buildserver.net/key | apt-key add -

    Prüfen ob der Schlüssel hinzugefügt wurde

    apt-key list

    sources.list erweitern

    echo "deb http://kernel-archive.buildserver.net/debian-kernel/ trunk main" >> /etc/apt/sources.list
    echo "deb-src http://kernel-archive.buildserver.net/debian-kernel/ trunk main" >> /etc/apt/sources.list

    Um nun das linux-kbuild Paket compilieren und installieren zu können, sollte folgendes Paket bereits installiert sein

    apt-get update && apt-get install build-essential

    anschließend werden die sources heruntergeladen

    cd /usr/src
    apt-get source -t kernel-dists-trunk linux-kbuild-2.6
    cd linux-kbuild-2.6-2.6.28

    Vor dem compilieren sollten die Abhängigkeiten geprüft werden um evtl. fehlende Pakete nach zu installieren.

    dpkg-checkbuilddeps
    dpkg-checkbuilddeps: Nicht erfüllte Bauabhängigkeiten: debhelper (>= 4.1.0)
    apt-get install debhelper

    Nun kann das Paket compiliert werden

    dpkg-buildpackage -us -uc

    um es anschließend zu installieren

    cd ..
    dpkg -i linux-kbuild-2.6.28_2.6.28-1~snapshot.12595_amd64.deb

    Jetzt kann auch der entsprechende Kernel installiert werden.

    apt-get install linux-headers-2.6.28-1-amd64 linux-image-2.6.28-1-amd64

    PGP Schlüssel fehlt – nur zur Information

    Sollte das compilieren mit nachfolgende Meldung abbrechen, so haben die dpkg-buildpackage ohne die Parameter -us -uc ausgeführt.

    [...]
    make[2]: Leaving directory `/usr/src/linux-kbuild-2.6-2.6.28'
    make[1]: Leaving directory `/usr/src/linux-kbuild-2.6-2.6.28'
     signfile linux-kbuild-2.6_2.6.28-1~snapshot.12595.dsc
    gpg: Übersprungen "Bastian Blank <waldi@debian.org>": Geheimer Schlüssel ist nicht vorhanden
    gpg: [stdin]: clearsign failed: Geheimer Schlüssel ist nicht vorhanden
    [...]

    Der Versuch den entsprechenden PGP Schlüssel zu importieren scheiterte bei mir…

    gpg --keyserver hkp://subkeys.pgp.net --keyserver-options verbose --search-keys "waldi@debian.org"

    Wer nicht über die console nach PGP Schlüsseln suchen möchte, kann dies auch per Webinterface tun.

    Wer die Signatur des Schlüssels bereits kennt, kann diesen auch direkt hinzufügen

    gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 45DAFAFC && apt-key add /root/.gnupg/pubring.gpg

    Abschließend sollte man prüfen ob der zu installierende Schlüssel auch installiert wurde und gültig ist

    gpg --list-keys

    Links:

    1 Kommentar

    1. Pingback: .: blog.cscholz.io :. » VMWare Server 1.x/2x unter Debian 5 installieren «

    Leave A Reply