initrd entpacken

  • Gibt es eine Möglichkeit die initrd zu entpacken, eigene Confs / Anpassungen vorzunehmen und danach wieder ab damit ins initrd ?
    Würde mir gern eine Notfall-Cd daraus erstellen und das scheint der einfachste weg zu sein, bzw. plane ich einen 2ten VDR zu basteln, allerdings ohne HD sondern nur mit DVD-LW für DVD/SVCD, dafür wäre das ideal um schnell von cd zu booten.


    Geht soetwas mit mkinitrd ?

  • hi,
    du kannst die initrd "einfach" mounten.

    Code
    mount /boot/initrd /mnt -o loop,rw
    ls /mnt


    sollte helfen. evtl musst du die initrd vorher noch mit gzip entpacken. ich hab noch nicht genau gerafft wann, aber ab und zu ist die initrd auch gepackt.
    wenn du eine eigene initrd erstellen willst geht das so

    Code
    mke2fs /dev/ram0
    mount /dev/ram0 /mnt
    cp linuxrc /mnt (oder ähnlich)
    umount /mnt
    dd if=/dev/ram0 of=/boot/mnt

  • Einige Ergänzungen zu deinen Ausführungen:


    Die initrd ist nicht gepackt, weil wir darin auch speichern wollen. Eine gepacktes Dateisystem ist nur ro zu gebrauchen.


    Das Dateisystem auf der initrd ist "Minix", das ist für diese Zwecke besser geeignet.


    Alfred

  • Und noch eine Ergänzung - bevor die Frage kommt :D


    Man kann wieder ein bootfähiges ISO Image erzeugen, indem man die Dateien

    Zitat

    bzimage
    initrd (die selbst angepasste)
    isolinux.bin
    isolinux.cfg


    in ein Verzeichnis (sagen wir /new_iso) kopiert (boot.cat weglassen, die wird neu erstellt)


    Danach mit

    Zitat

    mkisofs -o vdr_inside_personal.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -l -R -r /new_iso


    die Datei vdr_inside_personal.iso erzeugen. Diese lässt sich ganz normal als ISO image brennen und ist bootfähig !


    Zu den einzelnen Optionen und Verfahren siehe auch http://www.geocities.com/potato.geo/bootlinuxcd.html


    Request for Comments ;)


    Martin

  • Zitat


    Request for Comments ;)


    Martin


    Danke.



    Bei der Gelegenheit dann auch gleich


    'insmod stv0299' in Zeile 13


    und


    'rmmod stv0299' in Zeile 39


    der /etc/rc.vc1 eintragen.


    Dann klappt's auch mit der Nexus. ;D


    Alfred

  • Zitat

    mke2fs /dev/ram0
    mount /dev/ram0 /mnt
    cp linuxrc /mnt (oder ähnlich)
    umount /mnt
    dd if=/dev/ram0 of=/boot/mnt


    ist es normal das die fertige Initrd so 60 MB groß ist?


    ----


    erledigt, Fehler gefunden :)

  • Hallo ,


    eigentlich sollte es möglich sein, die initrd zu komprimieren.
    Eine gepackte initrd wird beim booten doch automatisch entpackt.


    Deshalb wird doch auch der Parameter "rw" auf der AppendZeile in der isolinux.cfg angegeben.


    Habe das mal mit PXE-linux (http://syslinux.zytor.com/) ausprobiert um mir die CD-Brennerei zu ersparen.


    Das Ergebnis war jedoch das gleiche wie mit einer unkomprimierten initrd.


    Oder habe ich etwas übersehen ?


    Gruesse,


    michael


  • Ja, vor dem Herunterfahren speichern wir geänderte Config-Files in der initrd (z.B. die timers.conf)


    Das geht nicht, bei komprimierten Filesystemen. Die einziste Möglichkeit wäre, die Ramdisk bei jeder Änderung neu zu erstellen. Wenn dann aber jemand den Strom abstellt, wäre das System nicht mehr bootfähig. Außerdem ist es ungefähr gleich schnell 16 MB (von HD) zu laden als 6MB zu laden und zu entpacken.


    Kurzum: viel Risiko bei null Gewinn.


    Alfred

Jetzt mitmachen!

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