Erstellen einer initrd

  • Hi,


    Erstmal vielen Dank für dieses kompakte Linux, wirklich gut Arbeit. Mittlerweile hatte ich das System auf der Platte und konnte auch weitere Plugins und meine eigene VDR Version in dem Image verlinken. Allerdings ist meine Absicht die initrd zu vergrößern um noch einige andere Dinge wie Mplayer usw. unterzubringen. Dies stellt sich allerdings sehr problematisch dar.
    Welches System verwendet ihr um die initrd zu erstellen, da ja mke2fs weder im Image noch im build_tree enthalten sind ? Also ich hab es mit meiner SuSE 8.0 RettungsCD nach Anleitung gemacht.


    mke2fs -m0 /dev/ram0 -b 1024 24576
    mount /dev/ram0 /XXX
    cp dateien_aus_geändertem_baum /XXX
    dd if=/dev/ram0 of=/XXX
    initrd in /boot kopiert
    lilo.conf angepasst
    lilo ausgeführt
    Booten ergibt: Kernel Panic: Unable to mount root...00:00


    Die entstehende initrd kann unter SuSE gemountet werden, allerdings nicht unter der Busybox. Resultat ist immer: ungültiges Argument. Die originale kann problemlos eingebunden werden.
    Daher folgende Fragen:
    1. Was stimmt mit der selbst erstellten initrd nicht ?
    2. Müssen ram_disk_size im Kernel und initrd gleich gross sein ? (den Kernel hab ich auch neu kompiliert, aber bis auf ram_disk_size=24576 am RAM Disk support nichts geändert.)
    3. Welchen Einfluss hat die isolinux.cfg, denn in der lilo.conf übergeb ich ja bereits die Parameter zum booten.
    4. Gibt es Limits in der Grösse der initrd ?


    Noch etwas seltsames, allerdings anderes Thema. Den Kernel hab ich mit PIIX-Ide und DMA Unterstützung kompiliert, beim Aktivieren mit hdparm /dev/disc0/disc/ -d1 erhalte ich "operation nicht erlaubt".


    Vielleicht habt ihr ja 'ne Idee


    Gruss
    Stefan

    Server HW:
    Asrock Q1900M + 4GB + 2x CineS2 5.4, SSD, 2TB Toshiba 2.5" (USB), 3TB Seagate (USB); 2TB Samsung; 1.5 Seagate (USB), picoPSU + DC/DC 200W
    SW:
    Debian (arranged), OpenMediaVault kralizec; VDR-2.1.6 + dynamite, live etc; Mysql running DB for EPG2VDR, XBMC


    Clients:
    1) TBS2910 freescale imx6 + OpenELEC
    2) RPI, 1GHZ, VDR-2.1.6
    3) RPI, 1GHZ, VDR-2.1.6
    4) cubietruck

  • Zitat

    Allerdings ist meine Absicht die initrd zu vergrößern um noch einige andere Dinge wie Mplayer usw. unterzubringen.


    ich würde zwar gerne wissen, wozu du mplayer in deiner initrd haben willst ... aber ich werde trotzdem versuchen dir zu helfen!


    Zitat

    mke2fs -m0 /dev/ram0 -b 1024 24576
    mount /dev/ram0 /XXX
    cp dateien_aus_geändertem_baum /XXX
    dd if=/dev/ram0 of=/XXX
    initrd in /boot kopiert


    irgendwie stimmt da was an deiner reihenfolge nicht so ganz:



    damit erhälst du eine initrd, die 16 MB groß ist .... und wenn du count=24 eingibst, müsstest du auf 24MB kommen.
    auf diese weise hab ich unter gentoo meine initrd erstellt und sie funktioniert einwandfrei ...


    Gruß,
    Morck

  • Vielen Dank für Deine Hilfe, das Problem ist gelöst. Ich habe nicht beachtet, dass per mke2fs standardmässig ein ext2 Filesystem in der initrd erzeugt wird. Im Kernel ist aber nur Minix support enthalten. Also Kernel neu compiliert und die initrd konnte gemountet werden. DMA funktioniert jetzt auch.
    Na ja, Mplayer möcht ich haben, da ihn bisher in meinem anderen MiniLinux auch drin hatte und gern alles notwendige in der initrd unterbringe.
    Gruss
    Stefan

    Server HW:
    Asrock Q1900M + 4GB + 2x CineS2 5.4, SSD, 2TB Toshiba 2.5" (USB), 3TB Seagate (USB); 2TB Samsung; 1.5 Seagate (USB), picoPSU + DC/DC 200W
    SW:
    Debian (arranged), OpenMediaVault kralizec; VDR-2.1.6 + dynamite, live etc; Mysql running DB for EPG2VDR, XBMC


    Clients:
    1) TBS2910 freescale imx6 + OpenELEC
    2) RPI, 1GHZ, VDR-2.1.6
    3) RPI, 1GHZ, VDR-2.1.6
    4) cubietruck

  • Zitat

    Original von stevie101
    Vielen Dank für Deine Hilfe, das Problem ist gelöst. Ich habe nicht beachtet, dass per mke2fs standardmässig ein ext2 Filesystem in der initrd erzeugt wird. Im Kernel ist aber nur Minix support enthalten. Also Kernel neu compiliert und die initrd konnte gemountet werden. DMA funktioniert jetzt auch.
    Na ja, Mplayer möcht ich haben, da ihn bisher in meinem anderen MiniLinux auch drin hatte und gern alles notwendige in der initrd unterbringe.
    Gruss
    Stefan


    Mplayer ist in der nächsten Version enthalten, die eigentlich heute rauskommen sollte.


    Es macht zwar keinen Sinn, diesen noch in die Ramdisk zu packen (wenn mplayer läuft, dann läuft auch die Platte :) ), aber andernfalls wird die kompakte Struktur zerstört, wenn auf der Platte weitere Verzeichnisse für ausführbare Dateien aufgemacht wwerden.


    mfg
    Alfred


  • Kannst Du das Booten vom Stick im Bios einstellen?


    Alfred

  • Hallo !


    Der stick ist dort zwar nicht ausdrücklich drinne
    direkt geht cd, festplatte, netzwerk,
    unter anderem menüpunkt .... anderes device..
    es giebt pc die ja ach von pcmcia und flash-adapter booten können ?


    und der hermes hat zb pcmcia und memmorystick steckplätze ...



    nur wie sowas funktionieren sollte weiss ich ehh nicht....
    zb. bei flash-karten sollen ja auch nicht alle booten können
    je nach hersteller ?


    jürgen

  • Servus Jürgen,


    Zuerst gehst du ins Bios, und schaust nach ob dein Bios dir die Möglichkeit gibt über USB zu booten...


    müsste etwa so heissen: USB-Zip, USB-HDD, USB-Floppy...


    Wenn du eine Option USB-Floppy gefunden hast BINGO!!!


    Jetzt nimmst du deinen USB-Stick her, und schaust nach ob mit dem Stick auch ne CD dabei war mit tools, wenn nein, dann im Internet beim hersteller suchen. Wir brauchen hier ein Tool um den Stick bootfähig zu machen (gibts in der Regel als Win$$ tool und macht die Sache einfacher).
    Wenn alles scheitert und du kein solches Tool findest, dann nehme eine einfache Diskette und formatiere diese als Systemdiskette die auch bootet. Von der frisch formatierten Diskette kopierst du alles auf den Stick. Jetzt im Bios auf USB-Floppy booten umstellen und den Stick in eine USB-Schnittstelle einstecken. Wenn er bootet BINGO, wenn nein END OF MY VORSCHLÄGE.


    Überlicherweise müsste es aber gehen.


    Versuchs einfach mal, kann nix bei kaputt gehen!!!


    Gruss


    Adama ;)

  • hallo adama !


    ...das war wohl die falsche richtung


    der hermes hat 3 steckplätze direkt auf dem board
    2x PCMCIA 1x memorystick


    ich denke mal der memorystick wird dann wie pcmcia behandelt


    und auf der platte ist nun mal linux drauf ...noch linvdr
    aber wenn vdr-inside mein netzwerk (e100) erkennt wollte ich
    wechseln ...und möglicherweise vom stick booten ....
    pcmcia währe ev auch noch ne lösung ?
    son pcmcia-adapter für flash inkl. flash ist ja ata-kompatibel und auch nicht teuerer als son stick ...nur grösserer


    jürgen

  • Sorry fürs miss(t)verständnis, aber ich kenne den Hermes nicht...


    Trotzdem,


    mein vorschlag sollte auch für die Flash-Lösung auf dem PCMCIA gelten, denn da wird der Speicher im ATA-Modus adressiert (quasi wie ne Platte).
    Wie die Memorysticks gehändelt werden weiss ich nicht, das Protokoll ist proprietär (SONY halt). Mein erster Gedanke geht in die Richtung, dass der Stick wie ein virtueller PCMCIA angesprochen wird, und die Formatkonvertierung in der Hermes-Hardware abgeht (ist aber nur aus dem Bauch geschossen)...


    Aber wenn du aktuell weder Flash noch Memorystick hast, dann würde ich die Flash-Lösung vorziehen, denn die kannste auch mal "mitnehmen", wenn dein Hermes "die göttlichen Flügel" streckt ;) , und du ein neues System aufziehst (und dann nicht auf einen Memorystick-Slot schielen musst bei der Hardware-Auswahl)...


    Gruss Adama :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!