Wie baue ich einen monolithischen Kernel?

Dieses Thema im Forum "Debian/Ubuntu/Knoppix" wurde erstellt von numx, 20.03.2007.

  1. numx

    numx Jungspund

    Dabei seit:
    19.09.2006
    Beiträge:
    14
    Zustimmungen:
    0
    Hallo Leute,

    ich habe schon sämtliche Sachen ausprobiert um einen monolithischen Kernel zu starten. es komt aber immer eine Kernel panic Meldung. Ich mache das ganze mit dem 2.6.20 Kernel, menu config und den Rest mit make-kpkg. Das kompilieren und installieren funktioniert auch jedes mal sehr gut. Aber wie gesagt beim start gibt es die genannten Probleme. Mal kurz mein vorgehen. Ich starte die Konfiguration mit

    make menuconfig

    und nehme beim Punkt Loadable module support alle Werte raus. Somit wird der Rest der anderen Optionen ja gleich automatisch auf y gesetzt.Vorher habe ich mir mit hwinfo sämtliche Informationen über meine Hardware besorgt und mir jede kleine Information die hinter dem Wert Driver stand notiert und später nochmal in der .config kontrolliert ob der Wert auch auf y gesetzt ist. Es waren alle Werte auf y gesetzt was ja auch klar ist wenn man den lodable module support raus nimmt. Für das Filesystem (xfs) ist auch alles auf y gesetzt. Solche Sachen wie MUltimedia und Sound etc..... habe ich ganz rausgenommen damit der Kernel nicht so groß wird. Habe ich vielleicht irgend etwas vergessen? Muss man wenn man einen monolithischen Kernel einsetzen will evtl. noch was in irgendwelchen Dateien ändern? Eine Step by Step Anleitung wie man einen monolithischen Kenrel beuat habe ich auch nirgendswo gefunden. Was mache ich falsch das er mir beim Start immer eine Kernel Panik macht. Die Meldung sieht dann immer so aus



    [<c0323a41>] plattform_device_release+0x6d/0xd2
    [<c0323b5b>] device_release+0x85/0x171
    [<c0119915>] kobject_cleanup+0x35/0x75
    [<c0119977>] kref_put+0x22/0x26
    [<c0119b3a>] depca_module_init+0x25/0x30
    [<c010481e>] init+0x5e/0x70
    [<c0101d2a>] ret_from_fork+0x11c/0x17b
    [<c0102e3b>] init+0x23/0x28
    [<cc947e2d>] init+0x1b0/0x34b [processor]
    [<c0101322>] kernel_thread_helper+0x3a/0x63
    =======================
    Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 06 00 00 00 d4 55 <9a> cc 38 e0 9c cc 00 00 00 00 00 00 00 00 43 10 00 00 00 00 00
    EIP: [<c663604a>] kfree+0x25/0x63 SS:ESP 0068:c147ff38
    <0>Kernel panic - not syncing: Attempted to kill init!

    ich habe auch schon versucht das System mit sämtlichen Parametern (ACPI=off usw.) zu starten aber es brachte auch nichts. Gibt es irgendwo ne Step by Step Anleitung für einen monolithischen Kernel?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Keruskerfürst, 20.03.2007
    Keruskerfürst

    Keruskerfürst Kaiser

    Dabei seit:
    12.02.2006
    Beiträge:
    1.366
    Zustimmungen:
    0
    Grundlegende Sachen, wie Prozessorunterstützung, Filesystem, Chipsatzunterstützung muß immer fest im Kernel intergriert werden.

    Eine weitere Möglichkeit:
    mal die Kernel config posten.
     
  4. #3 tastenklopfer, 20.03.2007
    tastenklopfer

    tastenklopfer Solaris & Gentoo

    Dabei seit:
    08.08.2006
    Beiträge:
    34
    Zustimmungen:
    0
    Lief das System vorher mit einem modularen Kernel 2.6.20?
    CU
    Tastenklopfer
     
  5. numx

    numx Jungspund

    Dabei seit:
    19.09.2006
    Beiträge:
    14
    Zustimmungen:
    0
    das System lief mit dem standard Distributionskernel von Debain Etch. Das ist der Kernel 2.6.18-4686. Wenn alles auf y ist muss doch alles drin sein. Kann es sein wenn man alles auf y hat bis auf die multimedia und ein paar andere funktionen das der Kernel für einen Start zu groß ist?
     
  6. #5 tastenklopfer, 20.03.2007
    tastenklopfer

    tastenklopfer Solaris & Gentoo

    Dabei seit:
    08.08.2006
    Beiträge:
    34
    Zustimmungen:
    0
    Der Kernel wurde dann mit make bzimage übersetzt? Wird der Kernel direkt gestartet oder über eine initrd/initramfs? Starte den Kernel mal ohne Ramfloppy.

    Zuviel fest einkompilierte Hardwareunterstützung kann auch eine Fehlerursache sein. Versuche erst einmal einen schlanken modularen Kernel zu bauen und dieser optimierte Kernel sollte dann problemlos als monolitisch übersetzter Kernel lauffähig sein.
    CU
    Tastenklopfer
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. numx

    numx Jungspund

    Dabei seit:
    19.09.2006
    Beiträge:
    14
    Zustimmungen:
    0
    also als modularer Kernel funktioniert das super. Wenn ich dann den modularen support aus dem Kernel nehme ist es ja eigentlich ein monolithischer Kernel. Natürlich muss er dann neu übersetzt werden wenn ich die loadable module support Funktion raus nehme. Meinst du dann läuft das und das er dann automatisch die Dinge die er vorher als Module angezogen hat automatisch fest mit rein nimmt? Warum gibt es eigentlich im Web keine Step by Step Anleitung für einen monolithischen Kernel. Ich kann doch nicht der einzige sein der diese Probleme hat.
     
  9. #7 tastenklopfer, 20.03.2007
    tastenklopfer

    tastenklopfer Solaris & Gentoo

    Dabei seit:
    08.08.2006
    Beiträge:
    34
    Zustimmungen:
    0
    Wenn Du den Kernel 2.6.20 noch nie modular getestet hast, sondern nur den Standardkernel von Debian, würde ich diesen erst einmal modular zum Laufen bringen. Ich schätze ohne manuelles eingreifen werden ca 200 Module gebaut. Diese dann alle in den Kernel monolitisch einzubinden kann (muss aber nicht) zu Problemen führen, wenn z.B. Hardwaretreiber initialisiert werden zu denen keine Hardware existiert (welches als Modul nie geladen worden wäre). Daher sollte beim Umwandeln modular -> monolitisch der Umfang an Treibern auf die tatsächlich vorhandene Hardware reduziert werden. Anleitungen gibt es dafür nur im Allgemeinen. Du musst Dich mittels lspci über deine Hardware informieren, die geladenen Module deines Standardkernels geben schon viele Hinweise. Übertrage diese im ersten Schritt modular auf den 2.6.20-er und wenn dieser dann läuft, dann mache noch einmal einen monolitischen Kernel.
    Tastenklopfer
     
Thema:

Wie baue ich einen monolithischen Kernel?

Die Seite wird geladen...

Wie baue ich einen monolithischen Kernel? - Ähnliche Themen

  1. Artikel: Live-Systeme mit Lesslinux selbst bauen

    Artikel: Live-Systeme mit Lesslinux selbst bauen: Linux gibt jedem die Möglichkeit, ein Betriebssystem nach den eigenen Vorstellungen zu gestalten. Vor allem für Notfall- und Rettungs-DVDs lohnt...
  2. continue in Schleife einbauen

    continue in Schleife einbauen: Hallo alle zusammen, ich schreibe grad an einem shell script und habe folgendes Problem: Ich möchte, dass die beiden if Anweisungen (zeile...
  3. Linux Mint will künftig nur noch auf Ubuntu LTS aufbauen

    Linux Mint will künftig nur noch auf Ubuntu LTS aufbauen: Wie die Entwickler der auf Ubuntu aufbauenden »Linux Mint«-Distribution bekannt gaben, soll sie künftig nur noch auf den LTS-Versionen von Ubuntu...
  4. Gerücht: AMD will auf freien Treiber aufbauen

    Gerücht: AMD will auf freien Treiber aufbauen: Medienberichten zufolge plant der US-amerikanische Chip-Hersteller AMD, künftig bei seinem Catalyst-Grafiktreiber für Linux auf einen quelloffenen...
  5. eigenen Thin Client bauen

    eigenen Thin Client bauen: Hallo Ich möchte einen eigenen Thin Client mit Linux oder Unix bauen und suche nach hilfreichen Tipps. Hat schon jemand von euch selber...