Schlanker Kernel?

Dieses Thema im Forum "Linux-Distributionen" wurde erstellt von Doofchen, 12. Juli 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Doofchen

    Doofchen Kbyte

    Registriert seit:
    30. August 2003
    Beiträge:
    277
    Hallo Wissende!

    Ich möchte mir einen auf meine Bedürfnisse zusammengestellten Kernel bauen (Debian).
    Frage 1: wie geht Solches?
    Frage 2: Kann ich mich als Newbie mit einiger Aussicht auf Erfolg daran wagen?
    Frage 3. was muss ich vorher dafür an Daten sammeln?

    Meine Intension wäre ein System nur für das Internet mit firefox und Kmail, weiter DHCP und Hardware-Router.

    Mit meinem zweites System (ohne Internet) werde ich dann alle anderen Aufgaben bewältigen (Office, Programmieren usw.).

    Für Vorschläge aus dem Forum wäre ich sehr dankbar.

    MfG Doofchen
     
  2. blablah

    blablah Kbyte

    Registriert seit:
    21. Juni 2004
    Beiträge:
    174
    apt-get install wget libncurses5-dev gcc make bzip2
    cd /usr/src

    (ca 300MB sollten frei sein)
    wget ftp://ftp.de.kernel.org/pub/mirror/ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2

    (gpg-Signatur prüfen)
    wget ftp://ftp.de.kernel.org/pub/mirror/ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2.sign
    gpg --verify linux-2.4.26.tar.bz2.sign linux-2.4.26.tar.bz2

    (nehme an: gpg-Siignatur ist ok, sonst hier aufhören...)
    bunzip2 linux-2.4.26.tar.bz2 | tar -xf -
    cd linux-2.4.26

    make menuconfig

    (jetzt den Kern an dein System anpassen.
    Im Zweifelsfalll: Hilfe lesen
    Beim Verlassen vom make menuconfig wird .config geschrieben.

    make dep
    make bzImage

    (Du willst ein schlanken Kern ohne Module,
    also kannst du dir folgendes sparen)
    make modules

    (Der Kern ist folgende Datei:)
    cp arch/i386/boot/bzImage /boot

    Jetzt /etc/lilo.conf editieren
    lilo

    booten.

    fertig :-)

     
  3. Doofchen

    Doofchen Kbyte

    Registriert seit:
    30. August 2003
    Beiträge:
    277
    hallo @blablah

    vielen Dank für den Vorschlag.

    Report: bis hin zur Signaturprüfung alles ausgeführt.
    Diese Prüfung konnte/kann nicht durchgeführt werden, da ---.sign auf dem Server nicht vorhanden oder in Arbeit ist. Ein Versuch (zu Fuß) direkt via http://www.kernel.org zeitigte das selbe Ergebnis.
    Testhalber bin ich ohne Prüfung den beschrieben Weg weitergegangen - whow ..
    was make menuconfig alles wissen will :-o

    Viele der Punkte sind trotz Hilfestellung für einen Laien nicht nachvollziehbar (technisches Englisch hat wohl mit angewandtem Englisch wenig zu tun).

    Wie dem auch sei - ich werde es auf jeden Fall versuchen mich da durchzubeißen - vermutlich mit mehr oder weniger Erfolg.

    Ich kann nun immer mehr nachvollzehen, warum die meisten User die vorgestrickten Systeme der Linux-Distributoren nutzen.

    Nochmals vielen Dank für Ihre Mühe [der Nickname ist wohl nicht Programm, wie man feststellen kann ;-) ].

    mfG Doofchen
     
  4. blablah

    blablah Kbyte

    Registriert seit:
    21. Juni 2004
    Beiträge:
    174
    ahh,
    nochmal einige Worte,
    der Link zum Kernel-Code den ich letztes Mal gepostet habe ist etwas krude,
    heisst: es geht einfacher, und zwar so:
    ftp://ftp.de.kernel.org/pub/linux/kernel/v2.4/

    Noch eine Anmerkung dazu:
    der Name ftp.de.kernel.org
    löst zu mehreren IP-Adressen auf,
    heisst: wenn du nochmal probierst,
    geht evtl ein anderer Server dran.
    Vieleicht findest du ja auch die gpg-Signatur-Datei...
    (für den Paranaoia-Modus)

    Durch Menuconfig musst du dich durchkämpfen,
    Aber nur Mut.
    vergiss nicht, die Konfiguraitionsdatei .config
    in den verschienenen Experimentierstadien
    extra zu sichern. z.B:
    cp .config config2.4.26-iptables-test-2004jul14

    Die Hilfe ist teilweise wirklich dürftig.
    Macht aber nichts, du hast ja den Quellcode und google ;-)

    Noch was: lerne den Bootloader so zu konfigurieren,
    dass du Kerne auswählen kannst,
    also, wenn der selbstgebaute Kern die panic bekommt,
    dass du dann einen alten funktionsfähigen als
    Alternative hast. Viel Erfolg.
     
  5. rapmaster

    rapmaster Halbes Gigabyte

    Registriert seit:
    21. Juli 2002
    Beiträge:
    5.181
    apt-get install kernel-source-2.6.X

    dann

    cd /usr/src

    tar xvjf kernel-source-2.6.X.tar.bz2

    dann

    ln -s kernel-source-2.6.X linux

    dann

    cd linux

    make menuconfig

    alles einstellen dann

    make && make modules_install && make install

    dann lilo.conf in /etc bearbeiten
     
  6. Doofchen

    Doofchen Kbyte

    Registriert seit:
    30. August 2003
    Beiträge:
    277
    hallo @blablah,

    wieder vielen Dank für die Ergänzungen. Grub oder Lilo - kein Problem.

    hallo @killermaster

    auch vielen Dank für die Prozedure um einen Kernel zu bauen.
    Selbstredend werde ich auch diesen Vorschlag ausprobieren.

    Noch ohne Einblick in die Internas vermute ich daß eine Kombination beider Vorschläge zu Ziel führt.
    a) signatur-abhängiger download und erfolgsabhängige Bash-Make-Zeile.

    Merci vielmals, nun habe ich jede Menge zu tun.

    Schöne Grüße Helmut

     
  7. Doofchen

    Doofchen Kbyte

    Registriert seit:
    30. August 2003
    Beiträge:
    277
    Hallo,

    wie zu erwarten ist die Erstellung eines 'schlanken Kernels' erstmal in die Hose gegangen.
    Der Grund sind mit Sicherheit die in 'make menuconfig' gemachten Angaben.

    Es ist eigentlich ein Lotteriespiel, da man - auf Verdacht - Optionen ankreuzt die der Rechner möglicherweise benötigen könnte (abgesehen von den Hardwareangaben wie CPU, Chipsatz, Grafik- und Netzkarte ... welche man selbstredend parat hat).

    So geht es also nicht!

    Nun einige Fragen dazu:
    ist es nicht so, dass bei einer HD-Installation irgendeines Distributors, Linux nach dem booten die möglichen Komponenten des Rechners abfrägt, die entsprechenden Treiber und Module lädt und nicht vorhandene Komponenten außen vor bleiben?

    Gibt es da möglicherweise eine Liste in der alles relevante für den jeweils aktuellen Rechner automatisch eingetragen ist? Das wäre super, da man damit eine Grundlage hätte bei der Beantwortung der Fragen für seinen Rechner.

    Gibt es Solches? Und wenn ja wie nennt sich diese Liste und wo ist sie eventuell zu finden?

    Schon wieder so doofe Fragen von Doofchen, nicht wahr?

    Weiß wer Bescheid? Vielen Dank wieder im voraus für Eure Mühe,

    mfG Doofchen
     
  8. cirad

    cirad Kbyte

    Registriert seit:
    24. Februar 2001
    Beiträge:
    509
    Ich würde kernel-package installiere. Das sind Build-Scripte, die dir ein Debian-Paket erstellen, das du dann normal wie jedes andere Paket installieren und deinstallieren kannst. Doku ist afaik dabei.
     
  9. blablah

    blablah Kbyte

    Registriert seit:
    21. Juni 2004
    Beiträge:
    174
    Hm,
    > wie zu erwarten ist die Erstellung eines 'schlanken Kernels'
    > erstmal in die Hose gegangen.
    Was ist denn passiert als du versucht hast den Kern zu booten?
    Wenn dem Kern was Essentielles fehlt,
    dann gibts ein Panic mit Meldung, weswegen.
    Berichte davon...

    Auto-Konfiguration ist IMHO das Gegenteil vom schlanken Kern.
    Daher: vor dem Compilieren nur das nötige auswählen.
    Viele der Rechnerkomponenten lassen sich abfragen,
    ohne dass du schrauben musst:
    lspci oder
    /cat/prov/pci
    oder eben
    cat /proc/cpuinfo

    > Schon wieder so doofe Fragen von Doofchen, nicht wahr?
    nein, ganz und gar nicht,
    doofe Fragen sind die besten Fragen.
     
  10. Doofchen

    Doofchen Kbyte

    Registriert seit:
    30. August 2003
    Beiträge:
    277
    @cirad

    Danke für den Hinweis auf die weitere Möglichkeit einen Kernel zu erstellen. Bei mir hakt es aber an anderer Stelle. Ich kämpfe gerade mit den Eingaben zu 'menuconfig'.


    @blablah

    ein Bericht dazu ist eigentlich nicht möglich, nur insofern, dass ich bei meinem Versuch irgend etwas Wichtiges überschrieben habe. Der Kernel kam gar nicht zu einer Panikmeldung, da LILO kurz nach dem Start nur einen dunklen Screen zeigte. Bei der Auswahl zu meinem funktionierenden Kernel via LILO passierte dasselbe.
    LILO hatte ich - nachgeprüft - richtig geändert.
    Mea culpa!
    Ich war froh ein Backup von meiner funktionierenden Sys-Partition zu haben.

    'cpuinfo', 'lspci' (GENAU!) diese Infos daraus sind genau ein Teil dessen was ich suche und benötige.

    Ich war nicht faul und habe versucht über das Infozentrum entsprechende Daten zu erlangen - was auch in geringem Maße gelang.
    Angezeigt werden auch an die 64 Module des Kernels, wenn ich das richtig interpretiere.
    Auch 'dmesg' liefert schon einiges an brauchbaren Angaben, aber eben noch nicht alles.

    In diesem Zusammenhang wäre es schön, wenn man die am Schirm vorbeihuschenden Startup-Meldungen so wie sie sind konservieren könnte - 'dmesg' zeigt nur einen Teil davon.

    Gibt es in den Untiefen meines Systems womöglich noch mehr Info für mich und meine Zwecke?

    Danke für Eure selbstlosen Nachforschungen für ein Newbie.


    Schöne Grüße Doofchen
     
  11. blablah

    blablah Kbyte

    Registriert seit:
    21. Juni 2004
    Beiträge:
    174
    Meldungen:
    /var/log ist die Fundgrube.
    /var/log/boot.log, kern.log, messages ...
    oder (wenn du kein grafisches Login aktiviert hast)
    <Shift>+<PgUp> nach oben scrollen, nach dem boot.

    Wenn der Kern gar nicht erst dazu kommt,
    einen Panic zu melden, dann ist idR was mit dem
    Bootloader faul, siehe folgender Abschnitt.

    Wenn du lilo benutzt:
    rufe nach jeder Änderung von lilo.conf
    **oder** dem hin-und-Herkompieren, der zugehörigen Kerne
    lilo
    auf. Lilo speichert die absolute Addresse des Kerns
    im 512-Byte MBR, wenn du lilo aufrufst.
    Welcher MBR geschrieben wird, lässt sich mit
    der boot=... option in lilo.conf einstellen.

    Probier erstmal mit lilo herum.

    Oder kopiere deinen Kern auf eine Floppy und boote davon:
    rdev bzImage /dev/hda1
    dd if=bzImage of=/dev/fd0
    Mittels rdev schreibst du in das bzImage rein,
    dass das die root-Partition bei dir /dev/hda1 ist.
    Pass das entsprechend an.
    Dann floppy-booten!
     
  12. Doofchen

    Doofchen Kbyte

    Registriert seit:
    30. August 2003
    Beiträge:
    277
    @blablah

    Wieder vielen Dank für die Tipps.

    Im Moment ist es mir nicht vergönnt zu experimentieren - viel Arbeit steht an.

    Das Thema ist aber auf keinen Fall vom Tisch, Sobald es wieder möglich ist, starte ich einen weiteren Versuch.

    Schöne Grüße Helmut
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen