Temat: montowanie obrazu mtd

witam,
czy backup z mtd skryptem ze strony https://wiki.openwrt.org/doc/howto/generic.backup

ktory tworzy pliki:
mtd0_u-boot.backup
mtd1_kernel.backup
mtd2_rootfs.backup
mtd3_rootfs_data.backup
mtd4_art.backup
mtd5_firmware.backup

można jakoś zamontować np. pod debianem aby dostać się do plików?

próbowałem ten instrukcji:
http://pjankows.blogspot.com/2012/01/ho … image.html

ale chcąc podmontować ten obraz:
-rw-r--r-- 1 root root 15481656 Mar  5 05:48 mtd2_rootfs.backup

instrukcja nie działa.
# ubiformat /dev/mtd0 -f backup/mtd_backup/mtd2_rootfs.backup
ubiformat: mtd0 (ram), size 15728640 bytes (15.0 MiB), 120 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 1 bytes
libscan: scanning eraseblock 119 -- 100 % complete
ubiformat: 120 eraseblocks are supposedly empty
ubiformat: error!: file "backup/mtd_backup/mtd2_rootfs.backup" (size 15481656 bytes) is not multiple of eraseblock size (131072 bytes)
           error 0 (Success)
# ubiattach -p /dev/mtd0
UBI device number 0, total 120 LEBs (15713280 bytes, 15.0 MiB), available 116 LEBs (15189504 bytes, 14.5 MiB), LEB size 130944 bytes (127.9 KiB)
# mount -t ubifs /dev/ubi0 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/ubi0,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.


urządzenie mtd0 jest zgodnie z zaleceniem większe od obrazu..

pozdrawiam,

2

Odp: montowanie obrazu mtd

Z jakiego routera to masz? Na pewno miałeś tam system plików ubifs a nie czasami zwykły jffs2?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: montowanie obrazu mtd

backup jest z rutera TP-Link Archer C7 v2

4

Odp: montowanie obrazu mtd

To nie masz tam ubifs tylko zwykły jffs2 dla mtd3_rootfs_data.backup. Dla mtd2_rootfs.backup jest to squashfs.

Dla jffs2 pod zwykłym linuksem sprawdź:

modprobe mtdram
modprobe mtdchar
modprobe mtdblock
dd if=./mtd3_rootfs_data.backup of=/dev/mtd0
mkdit /tmp/aaa
mount -t jffs2 /dev/mtdblock0 /tmp/aaa

Będąc w katalogu gdzie są pliki.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: montowanie obrazu mtd

Cezary napisał/a:

To nie masz tam ubifs tylko zwykły jffs2 dla mtd3_rootfs_data.backup. Dla mtd2_rootfs.backup jest to squashfs.

Dla jffs2 pod zwykłym linuksem sprawdź:

modprobe mtdram
modprobe mtdchar
modprobe mtdblock
dd if=./mtd3_rootfs_data.backup of=/dev/mtd0
mkdit /tmp/aaa
mount -t jffs2 /dev/mtdblock0 /tmp/aaa

Będąc w katalogu gdzie są pliki.

Część,

Pozwolę sobie odkopać temat.
Próbuję pod Ubuntu 18.04 i mam małe problemiki
1. nie mam "mtdchar"
2. spróbowałem bez "modprobe mtdchar" i wtedy mam

mount: /tmp/aaa: can't read superblock on /dev/mtdblock0.

3. spróbowałem pisać do "mtdblock0" zamiast "mtd0" (za https://wiki.emacinc.com/wiki/Mounting_ … _Linux_PC)

dd if=./mtd3_rootfs_data.backup of=/dev/mtdblock0

Wynik

/dev/mtdblock0 on /tmp/aaa type jffs2 (rw,relatime)

ale /tmp/aaa pusty.
Wspomnę że
- backup zrobiłem używając (https://eko.one.pl/?p=openwrt-backup), ale nie w trybie failsafe.
- na wersji 17.01-SNAPSHOT_r3876-efb6ca1
- dla  TP-Link TL-WDR4300 v1

grep rootfs_data /proc/mtd
mtd3: 00410000 00010000 "rootfs_data"
dd if=/dev/mtdblock3 of=/tmp/mtd3_rootfs_data.backup

Czy modchar koniecznie musi być ?
Jakiś pomysł co robię nie tak?
lub jak inaczej dostać się do danych z mtd3_rootfs_data.backup ?
Próbowałem także
- na 19.07-SNAPSHOT_r10949-c56ed72d2b z backup z mtdblock4 - efekt taki sam
- https://github.com/sviehb/jefferson, - wygenerował jakieś śmieci
- Mounting JFFS2 Images using a Loop Device (https://wiki.emacinc.com/wiki/Mounting_ … a_Linux_PC) - też pusty folder

Proszę o pomoc.
Pozdrawiam!

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)

6

Odp: montowanie obrazu mtd

Z jakiego urządzenia zrobiłeś ten backup?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: montowanie obrazu mtd

- na wersji 17.01-SNAPSHOT_r3876-efb6ca1
- dla  TP-Link TL-WDR4300 v1

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)

8 (edytowany przez alossek 2020-04-09 13:05:19)

Odp: montowanie obrazu mtd

Ogarnięte. Hasło dnia: convert endianness

Poniżej zostawiam info dla potomnych (za https://integriography.wordpress.com/20 … -in-linux/)

jffs2dump -b -c -r -e ./mtd3_rootfs_data.backup.littleendian ./mtd3_rootfs_data.backup
modprobe mtdram
modprobe mtdblock
dd if=./mtd3_rootfs_data.backup.littleendian of=/dev/mtd0
mkdir /tmp/aaa
mount -t jffs2 /dev/mtdblock0 /tmp/aaa

Edit: Sukces jednak połowiczny
udało się zamontować, widać system plików,
ale odczyt niektórych plików daje I/O error ... może konwersja na little endian coś popsuła ?

TP-Link TL-WDR4300 v1, Reboot (17.01-SNAPSHOT, r3876-efb6ca1)