Eigene Linux Minidistribution



  • Hallo allerseits,

    angeregt durch einen kürzliche im Linux Magazin gepublishten Artikel
    habe ich beschlossen auch eine kleine "Test-Erfahrung" Distribution
    zu bauen. Es sollte dabei auf keine Fall Wert auf Benutzbarkeit gelegt
    werden, wenn sie läuft bin ich schon zufrieden.

    Ich habe mir also eine Diskette (mkdosfs) geschnappt und erstmal
    syslinux daraufgepackt. Die hälfte des im Linux Mag verbreiteten Ar-
    tikel konnte wie immer getrost ignoriert werden. Wegen Problemen mit
    syslinux bin ich dann auf grub umgestiegen.
    Kernel (2.2.16er) darauf gepackt, mir allem was nötig ist (dos-,fat-,
    ramdisk und initrd support). Meine initrd besaß erst kein linuxrc,
    bis ich endlich darauf kam, das das der "standard" Weg ist.
    Per grub console fordere ich:

    root (fd0)
    kernel /linux mem=192M root=/dev/ram0 init=/linuxrc
    initrd /initrd.gz

    Funktioniert alles einwandfrei, dass root-fs wird gemountet, der init
    Parameter gefunden, ABER: Unable to open initial console. (KEINE kernel panic!)
    Ich hab mir eine 2.4er bash statisch gelinkt und überflüssiges per
    objcpy --strip-all herausgeschnitten. Die hab ich dann einfach in
    linuxrc umbenannt, mit nötigen Rechten(x) ausgestattet und in mein
    initrd root-fs (/linuxrc) geschoben. In der Kernel Dokumentation steht
    es kann sich bei der linuxrc um alles mögliche handeln (binary, script) kann.
    Es hat einfach nicht geklappt. Ich hab mal in mein 7.2er Redhat initrd-
    image geschaut, dort liegt ein "nash???" script (einfacher interpreter in
    initrd-....>/bin/ ). Warum geht ein Script, das explizit auf einen
    Interpreter angewiesen ist, und meine binary nicht? (Hab allen binary-
    support im Kernel drin.

    Hilfe... Ich kämpfe schon sehr sehr lange...



  • http://www.linuxfromscratch.org/ da findest du sicher Informationen zu dem Thema.



  • Ok, die Seite ist mehr als einen Blick Wert, aber um meine Frage zu konkretisieren: Was wird nach dem Kernel-Start als erstes angesprochen, bei der Verwendung von initrd zum Start? Alles andere ist irrelevant. Wenn ich hier einen Ansatzpunkt habe, kann ich den Rest ja selbst herleiten, da ich dann "Kontrolle" habe. :p



  • Heißt diese Linux-Zeitung zufälligerweise c't? 😉

    PS: Wenn ich zu Wheinnachten 'n eigenen Rechner kriege mach ich 's auch 🙂

    [ Dieser Beitrag wurde am 27.10.2002 um 09:22 Uhr von elk editiert. ]



  • Das Problem hab ich auch schon mal gehabt, wie ich versucht habe, eine Linux-System aus Einzelteilen mit Diskette zusammenzubauen. Du brauchst in deinem Dateisystem irgendwo das Verzeichniss >/dev/< und dort muss eine Datei namens >console< sein. Wenn nicht bekommst du diese Meldung.

    Ueberlebenskuenstler



  • Funzt! Was micht wundert, wenn ich nicht explizit den Kernel Parameter mem='hier bitte eine Zahl einfuegen'M übergebe, lässt er mich nicht das root-fs aus /dev/ram0 mounten. Gibt es denn nicht einen Weg, dass der Kernel sich diese Daten selbst saugt? Sonst ist meine Distri ja für jeden PC zu ändern 😞

    -=[C-Y-A]=-

    [ Dieser Beitrag wurde am 29.10.2002 um 17:36 Uhr von Fox112 editiert. ]


Anmelden zum Antworten