Home » Archiv » 2006 » 11 » 09 » Linux Kernel auf D...
Blog Startseite

zitate

Das Unsympathische an Computern ist, dass sie nur ja oder nein sagen können, aber nicht vielleicht.
Brigitte Bardot
 
Sprache / Language:
  • deutsch
  • english
  •    
     

    Linux Kernel auf Debian Art

    Diesen Artikel als PDF Druckansicht dieses Artikels

    So nachdem ich derzeit zwei aktuelle Linux Systeme als Proxy und Backup-Firewall Systeme konfigurieren muss und dabei auf meinem Debian System den aktuellsten Kernel haben will, dachte ich mir, ich versuch es mal mit einer richtigen Kernel Installation, nach Debian Art. Bisher habe ich das ganze eigentlich immer in selbst Arbeit mit kopieren des Kernels gemacht. Da ich in diesem Fall aber sogar zwei identische Systeme habe, hab ich den Vorteil, dass ich das komplette deb Package auf den zweiten rüber schieben kann und mit einem verträumten dpkg -i alles schon geschehen ist :-) Auch wenn es zu dem Thema schon einiges gibt. Ich mag es quick und dirty und vor allem soll die Befehlabfolge funktionieren, darum folgt jetzt das kurze HowToAls Basisverzeichnis wähle ich eigentlich immer /usr/src. Wer das ganze also wo anders macht muss entsprechend abändern.

    Vorab sollte man erstmal sicherstellen, dass man die notwendigen Debian Pakete installiert hat:

    • kernel-package
    • debhelper
    • dpkg-dev
    • libncurses5-dev

    Am einfachsten geschieht dieses mit einem:

    aptitude install kernel-package debhelper dpkg-dev libncurses5-dev

    Wir beginnen mit den Sourcen, zum Zeitpunkt der Erstellung war die aktuellste Stable die 2.6.18.2.


    cd /usr/usr
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.2.tar.bz2
    tar xfj linux-2.6.18.2.tar.bz2

    Da ich immer lieber direkt im Verzeichnis linux arbeite, noch ein schnelles.


    ln -s linux-2.6.18.2 linux
    cd /usr/src/linux

    Da wir ja nicht von 0 anfangen wollen, nehmen wir am besten die originale Konfiguration des Debian Kernels und kopieren sie.

    cp /boot/config-2.4.27-3-386 /usr/src/linux/.config

    Nun überlasse ich euch die Wahl, ob ihr erst einen

    make oldconfig

    macht und dadurch einmal alle neuen Einträge durchgeht, die noch nicht in der Config enthalten sind. Oder ob ich gleich mit

    make menuconfig

    in die Konfiguration des Kernels geht. Da unter Linux das initrd standardmäßig als cramfs gepackt wird, wofür ein Kernel Patch notwendig ist. Verzichte ich auf die Erstellung eines initrd. Ich berücksichtige also bei der Komponentenauswahl immer, das alle zum booten notwendigen Module fest in den Kernel einkompiliert sind. Wenn ihr so vorgehen wollt wie ich, solltet ihr das also auch tun. ;-)

    Nachdem die Konfiguration dann vollständig ist wird der Kernel backen wir uns einen Kernel mit folgendem Kommando:

    make-kpkg kernel_image

    wer möchte kann hier noch Argumente anhängen, um den z.B. die Subversion des Kernel Namens noch anzupassen. Dieses geschieht mit:

    –append-to-version meinversionsname

    Um das deb Packet noch mit einer spezifischen Nummer zu versehen. Kann auch noch folgendes Argument angehängt werden:

    –revision meinkernel1.0

    Nun kommt ein langes “make Kaffeepause” ihr habt jetzt erstmal gut Zeit bis der Kernel kompiliert wurde. Wer genau wissen will, wie lange es dauert, kann mit einem voran gesetzten time beim make-kpkg danach sehen wie lange es gedauert hat um evlt. auch für weitere Kernel Compiles genauere Zeitangaben zu haben. In diesem Falls also time make-kpkg kernel_image.

    Nachdem der Kernel nun gebacken wurde, müssen wir ein Verzeichnis nach unten gehen, da das Kernel Package standardmäßig unter /usr/src abgelegt wurde. Hier solltet ihr nun eurer Kernel Packe finden welches ihr mit

    dpkg -i meinkerpackage.dev

    installieren könnt. Debian entpackt nun den Kernel und passt auch gleich die Einträge zum Start in grub oder lilo an. Nun sollte nach einem reboot der Maschine der neu Kernel Hallo sagen. Soltle eine Kernel Panic zum vorschein kommen, keine Angst Debian lässt den alten Kernel auch drin, so könnt ihr diesen im Startmenü nochmal booten und erneut kompilieren. Meistens fehlt dann ein fest einkompilierter Treiber fürs Filesystem eurer Bootpartition. Falls ihr Anmerkungen oder Fragen zu dem HowTo habt, freu ich mich über einen Kommentar.

    Kommentare bisher »

    1. Robert Redl sagt

      am 2007-02-17 um 11.04 pm

      Ich konnte noch keinen VMWare Server für Virtualisierung und erleichtertes Backup, verbessertes Monitoring installieren, weil auf den meisten Standard-images von Hosting Providern die Kernel-Headers fehlen, oder ein nachträglich installierter gcc Compiler eine andere Version hat, als der mit dem das Image erstellt wurde.

      Da ich nur gemietete LinuxServer in entfernten Rechenzentrum verwende, würde ich mich über einen Tipp freuen worauf ich achten muss, wenn ich Debian remote neu kompilieren will, als Basis aber das Image vom Hoster läuft, bzw. wenn ich keine genaue Kenntnis von der dort verwendeten Hardware habe? War da schon mal in den debootstrap Abgründen, bin aber über erste Gehversuche nicht so recht weitergekommen denn richtigen ‘Weg’ zu finden.

      Würden eventuell externe Tools auf einem zweiten LinuxServer helfen, wie z.B. http://nocmonkey.psoft.net/ ?

    2. bof sagt

      am 2007-02-18 um 12.32 am

      Remote einen Kernel zu compilen. Aber eigentlicht auch nichts dramatisches.

      Wie schon in dieser kurzen Anleitung beschrieben, solltest du als Basis die Config von dem derzeit laufenden Kernel nehmen. Wenn du dann alle entsprechenden Module mit drin hast (ich nehme sie lieber immer fest mit rein und arbeite ohne initrd) sollte eigentich alles an Hardware laufen, läuft ja jetzt schließlich auch.

      Was ich mal hatte auf Debian war das die SATA Platten beim Umstieg 2.4er auf 2.6er Kernel anders angesprochen wurden, was dann natürlich beim mounten des root devices prompt auf die Nase fiel. Aber wenn du den alten Kernel in grub bzw. lilo drin lässt kannst du ja zu Not auch nochmal jemandem im RZ bemühren, der einmal manuell den alten Kernel wieder startet. Oder du nutzt dazu halt ein Remote Tool wie nocmonkey, kann sicherlich auch nicht schaden. Mit nocmonky speziell hab ich jetzt aber noch keine Erfahrung, für unsere Siemens Server in der Firma haben wir auch so ein Terminal Tool um Remote auf der Hauptkonsole und sogar im BIOS zu arbeiten.

      Ansonsten einfach mal kompilieren… so lang du nicht neu bootest bzw. den neuen Kernel nicht auf Standard hast kann dir ja nichts passieren.

    3. Jentec sagt

      am 2007-03-12 um 7.54 am

      tjo soweit so gut nur ist eine kleine lücke die mich schon nervt ;) ich hab nach den kernel compilern eine image so dem zu folge muss ich ja rebooten um den kernel zu laden und dann ?

      ich hab keine ip drinn etc kein root passwort kein nix wie soll ich dann auf den neuen kernel kommen oder lädt der das auto rein beim boot was im altem kernel war ?

      HILFE :) weil bei den problem mit vmware bin ich auch ;) hab mir halt kernel header von einer anderen kernel version besorgt und die install nun hab ich den kernel installed nur mag nich rebooten aus diesem grund

      tjo soweit sogut ;) achja wenn ich einem ausem rz zu rechner schicken lasse kosten das schon pauschal 39euro wenn da was länger dauert dann halt mehr ….

      gruß Jentec

    4. bof sagt

      am 2007-03-12 um 11.37 am

      Hi Jentec, Einstellung von IP und Root Passwort haben nichts mit dem Kernel zu tun. Diese Sachen stehen in Konfigrationsdateien bzw. halt passwd und shadow. Wichtig ist nur das die richtigen Treiber für Partitionen und Netzwerkkarte etc. im Kernel hinterlegt sind. Denn wenn der Kernel natürlich die Partition nicht mounten kann auf der die Config-Dateien liegen, bzw. keinen Treiber für die NW-Karte hat wirst du ihn auch nicht erreichen da es schon beim booten nen “panischen Kernel” geben wird ;-)

      Wenn aber alle Treiber wie im aktuellen Kernel hinterlegt sind, sollte das System nach dem reboot genau so hallo sagen wie du es runter gefahren hast.

    Komentar RSS · TrackBack URI

    Hinterlasse einen Kommentar

    Name: (erforderlich)

    eMail: (erforderlich)

    Website:

    Kommentar:

    WETTER LANGENHAGEN
    Aktuelles Webcambild
    Aktuelle Temperatur:
    Aktuelle Temperatur
    Aktuelle Luftfeuchtigkeit:
    Aktuelle Luftfeuchtigkeit
    FRAZR
    PLAYLIST
    TAGS BADGES


    TopBlogs.de
    bloggerei.de - deutsches Blogverzeichnis blog-o-rama.de Deutsches Blog Verzeichnis frisch gebloggt Bloggeramt.de Pagerank
    BESUCHER
    • 7 gerade online
    • 24 max. gleichzeitig online
    • Heute: 199
    • Gestern: 221
    • Monat: 1372
    • Jahr: 1372
    • Gesamt: 214970
    LETZTE KOMMENTARE
    Björn "bof" Böttcher, 2002-2009 - Impressum - Datenschutz - About

    Schliessen
    Beitrag per E-Mail versenden