ramdisk.img to ramdisk.cpio.gz

1

Ich habe eine ramdisk.img-Datei, die ich in ramdisk.cpio.gz ändern möchte. Kann ich die Datei einfach umbenennen oder muss ich den gesamten Archivierungsprozess durchlaufen? Wenn ich den Archivierungsprozess durchlaufen muss, kann mir jemand die für den Prozess erforderlichen Schritte mitteilen.

Strang
quelle
3
Durch das Ändern einer Dateierweiterung wird der Inhalt der Datei nicht geändert. Durch das Hinzufügen von .gz zu einem Dateinamen wird ein gzip-Archiv nicht auf magische Weise erstellt. StackOverflow ist nicht der richtige Ort, um den Umgang mit Archivierungssoftware zu erlernen, auf superuser.com nachzufragen oder einfach die Manpage auf Ihrem Computer zu überprüfen oder eine Google-Suche durchzuführen.
Dan Grossman

Antworten:

4

Nein, ramdisk.imgist ein vollständiges Dateisystem. Das musst du

  1. Hängen Sie die .img in ein Verzeichnis ein, z

    mkdir /mnt/ramdisk
    mount ramdisk.img /mnt/ramdisk
    

    Sie sollten jetzt Dateien in / mnt / ramdisk sehen. (Möglicherweise benötigen Sie -o loopim Befehl mount - ich kann mich nie erinnern, wann dies erforderlich ist.)

  2. Erstellen Sie ein neues cpio-Archiv im neuen c-Format aus dem Inhalt von / mnt / ramdisk

    cd /mnt/ramdisk
    find . -print |cpio -H newc -o |gzip -9 > ~/ramdisk.cpio.gz
    
  3. Aushängen / Aufräumen

    umount /mnt/ramdisk
    rm -rf /mnt/ramdisk
    

Das ist alles von der Spitze meines Kopfes und kann alberne Fehler enthalten. Hoffe, es funktioniert!

Rup
quelle
Muss ich die Ramdisk mounten? Die Ramdisk wird für eine Android-Plattform verwendet
Wenn es sich bei der Datei ramdisk.img um ein Dateisystem-Image handelt, müssen Sie die Dateien auf irgendeine Weise lesen, und das Mounten ist der einfachste Weg, dies zu tun - der Zugriff auf die Dateien ist nur vorübergehend. Ich weiß nicht, ob es etwas Spezifisches gibt, das Sie für Android tun müssen.
Rup
Am Ende musste ich die Datei nicht archivieren, aber ich habe Ihre Methode ausprobiert und bin auf das Problem gestoßen, das die Kenntnis des Dateisystemtyps erfordert
Oh, OK - tut mir leid. Normalerweise können Sie dies anhand der folgenden file ramdisk.imgInformationen feststellen: Wenn dies funktioniert, kann es wahrscheinlich auch von mount automatisch erkannt werden. Jedoch von Googeln ist es jetzt möglich, dass wir Sie irreführen: Anscheinend sind einige Android-Ramdisk.imgs wirklich Ramdisk.cpio.gzs : - / Sorry, wenn das der Fall wäre - ich hätte keine Ahnung, dass Android so funktioniert. ramdisk.img ist normalerweise ein ext2 (oder romfs, glaube ich) Dateisystem-Image.
Rup
1

Sie möchten wahrscheinlich ein initrd-Image durch ein initramfs-Archiv ersetzen. Es gibt ein Skript in den Kernel-Quellen, um den zweiten Teil zu erledigen. Es ist in scripts/gen_initramfs_list.sh.Vielleicht möchten Sie dies lesen .

user4444
quelle