PDA

View Full Version : kann man fullbackups, bzw. images manuell entpacken?



faster47
08-10-11, 04:28 PM
Hallo,

brauche nach neuflashen dringend eine Datei aus einem vorherigen backup. Gibt es ne Möglichkeit, dass Image unter win zu entpacken um die Datei daraus wiederherzustellen oder muss ich es für eine Datei extra installieren?

gruß faster

Pedro_Newbie
08-10-11, 07:50 PM
Sorry in English
It only could work with jffs2 file systems, then you could try newtuxflashtools, but I don't know any program for the UBIFS filesystem

Google translate
Es konnte nur mit jffs2 Dateisystemen arbeiten, dann könnte man newtuxflashtools versuchen, aber ich weiß kein Programm für die UBIFS Dateisystem

faster47
08-10-11, 07:59 PM
Hello Pedro,

thank you very mutch, but my needed file is in an UBIFS filesystem :-(

Pedro_Newbie
08-10-11, 08:12 PM
You could try:
Back-up your current (new) image
Restore your old image with the needed file(s)
copy your file(s) from your image to the harddisk
Restore your new image
copy your file(s) from harddisk to your image


Google translate
Sie könnten versuchen:
Back-up Ihrer aktuellen (neuen) Image
Setzen Sie Ihre alte Image mit den benötigten Datei (en) zurück
Kopieren Sie Ihre Datei (en) aus dem Image auf die Festplatte
Setzen Sie Ihre neuen Image zurück
Kopieren Sie Ihre Datei (en) von der Festplatte, in Image

faster47
08-10-11, 08:33 PM
Thank you, yes, that's the only solution now for my problem, ... i know!

icewaere
08-10-11, 09:56 PM
hey,

ist wohl immo nur unter Linux machbar:

1ste variante:
Unfortunately, at the moment there are no user-space tools which can unwrap UBI and UBIFS images. UBIFS cannot be loop-back mounted as well, because it does not work with block devices.

However, there is a hacky way to unwrap UBI/UBIFS images. But you have to make sure you have UBIFS support in your host machine. UBIFS is a relatively new file system and is not supported by all Linux distributions. But at least Fedora 11 does include it.

Let's consider a simple example. Suppose you have an ubi.img file. This is an UBI image, which contains a single UBI volume, which in turn contains UBIFS file-system. In other words, this is an image which was created using the mkfs.ubifs and ubinize tools, just like it is described in this section (the image is created for a 256MiB NAND flash with 2KiB NAND page size and which supports sub-pages). Here is what you can do:

# Create an 256MiB emulated NAND flash with 2KiB NAND page size
# (you should see the new MTD device in /proc/mtd)
modprobe nandsim first_id_byte=0x20 second_id_byte=0xaa \
third_id_byte=0x00 fourth_id_byte=0x15

# MTD is not LDM-enabled and udev does not create device
# MTD device nodes automatically, so create /dev/mtd0
# (we assume that you do not have other MTD devices)
mknod /dev/mtd0 c 90 0

# Copy the contents of your image to the emulated MTD device
dd if=ubi.img of=/dev/mtd0 bs=2048

# Load UBI module and attach mtd0
modprobe ubi mtd=0

# Mount UBIFS
mount -t ubifs /dev/ubi0_0 /mnt/ubifs

Now you have the file-system in /mnt/ubifs. Use the following to get rid of it:

umount /mnt/ubifs
rmmod ubifs ubi nandsim


2te Variante:



All this is done on Ubuntu 10.04Extract!

1. Create folder to mount in.

mkdir /mnt/ubi

2. Load modules

modprobe mtdblockmodprobe ubimodprobe nandsim first_id_byte=0x20 second_id_byte=0xaa third_id_byte=0x00 fourth_id_byte=0x15

3. Validate

cat /proc/mtddev: size erasesize namemtd0: 10000000 00020000 "NAND simulator partition 0"

ls -l /dev/mtd*crw-rw---- 1 root root 90, 0 2010-08-04 15:17 /dev/mtd0crw-rw---- 1 root root 90, 1 2010-08-04 15:17 /dev/mtd0robrw-rw---- 1 root disk 31, 0 2010-08-04 15:17 /dev/mtdblock0

4. Copy the contents block device(orginal firmware is not as big)

dd if=ubi.img of=/dev/mtdblock0 bs=204848000+0 records in48000+0 records out98304000 bytes (98 MB) copied, 3.20704 s, 30.7 MB/s

ubiattach /dev/ubi_ctrl -m 0UBI device number 0, total 2048 LEBs (264241152 bytes, 252.0 MiB), available 0 LEBs (0 bytes), LEB size 129024 bytes (126.0 KiB)

First time it will ask you to install mtd-utils.

ls -l /dev/ubi*crw-rw---- 1 root root 250, 0 2010-08-04 15:29 /dev/ubi0crw-rw---- 1 root root 250, 1 2010-08-04 15:29 /dev/ubi0_0crw-rw---- 1 root root 10, 54 2010-08-04 15:17 /dev/ubi_ctrl

5. Mount the shit!

mount -t ubifs ubi0_0 /mnt/ubi

And now in the folder /mnt/ubi will the files be found.


grüße ice

faster47
09-10-11, 09:31 AM
hui, das ist mir dann aber doch zu kompliziert, da bin ich nicht unix-freak genug. Werde dann mal das alte Image flashen, und mir die Datei ziehen und dann wieder zurückflashen und die Datei einspielen.

Um das Rätzel aufzulösen worum es mir geht:
Hatte auf dem Image für den alten bootloader das foreca-weather plugin drauf und hatte mir die Städte- und Länderliste gemoddet. Leider habe ich sie nicht gesichert, bevor ich das neue et9x00 pli drauf gemacht habe.

Aber in max. einer halben Stunde ist das mit dem umflashen ja auch erledigt. Hatte halt angenommen, es gibt ein Explorer ähnliches Tool, welches die Dateistruktur baumartig aus einem Image auflösen kann.
Imagetools für Windows bieten diese Möglichkeit, daher mein Gedanke! Trotzdem Danke für eure Hilfe!

janosch
09-10-11, 09:40 AM
Genau so ein Tool ist das von Pedro_Newbie beschriebene newtuxflash. Leider wird es seit langem nicht mehr weiterentwickelt und kann nicht mit UBIFS-Images umgehen. UBIFS ist ein noch ziemlich neues Dateisystem speziell für Flashspeicher, für das es noch kein mir bekanntes Tool dieser Art gibt.

Ich spiele meine selbst editierten Foreca-Configs auch bei jeden neuen Image von Hand ein.