Używanie cata w ten sposób jest jak najbardziej ok, w linuksie to działa( http://www.lucidit.co.nz/Data_Transportation.html ). Tych plików nie możesz normalnie skopiować bo to nie są zwykłe pliki tylko urządzenia blokowe. Co do kopiowania boot i misc w czasie pracy systemu android to chyba jest ok bo w pierszej fazie jest to odpalane a później już nie działa. Zresztą muszę najpierw o procesie uruchamiania androida poczytać ale z tego co wiem to są dwie fazy, odpalany jest najpierw pierwszy procesor i ładowane dane z jakiejś partycji(boot albo misc) a następnie uruchamiany jest dopiero Android.
---------- Post dołączono o 20:06 ---------- Poprzedni post napisano o 18:25 ----------
Ok, napiszę dokładniej o co mi chodzi. Pod działającym systemem odpalamy shella przez adb i wydajemy polecenie:
# cat /proc/mtd
cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00020000 "misc"
mtd1: 00500000 00020000 "recovery"
mtd2: 00280000 00020000 "boot"
mtd3: 0aa00000 00020000 "system"
mtd4: 08200000 00020000 "cache"
mtd5: 0a5c0000 00020000 "userdata"
i sprawdzamy co mamy zamontowane:
# mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
/dev/block/mtdblock3 /system yaffs2 ro 0 0
/dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1000,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8 0 0
jak widać powyżej mamy zamontowane partycje 3,4,5 które są w katalogu: /dev/block i mają nazwy mtdblock3 itd.
W tym trybie nie zalecam zmiany ani robienia kopii z partycji 4,5 bo są one zamontowane do zapisu i odczytu i system na nich pracuje, natomiast partycja mtdblock3(główna partycja root / lub /system) jest zamontowana tylko do odczytu i teoretycznie można by było zrobić z niej dumpa.
Partycje mtdblock0 i mtdblock1 nie są w ogóle zamontowane czyli teoretycznie można z nich zrobić spokojnie kopię przez cat.
Natomiast podczas recovery mode sprawa wygląda inaczej:
cat /proc/mtd jest takie samo jak podczas działania systemu, natomiast mount wygląda tak:
/ # mount
mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,mode=755)
devpts on /dev/pts type devpts (rw,mode=600)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
/dev/block/mtdblock4 on /cache type yaffs2 (rw,nodev,noatime,nodiratime)
Jak widać tutaj mamy zamontowaną tylko partycję mtdblock4 więc możemy operować na innych partycjach.
Zastanawiam się teraz czy można by było po prostu wgrać wcześniej wykonany obraz z pliku .img(np: inny telefon) na niezamontowaną partycję.
Można by było na przykład podmienić partycję misc albo boot.