1 (23.12.2012 14:10:11 отредактировано zenon)

С приобретением смарта с андроидом приходится разбираться.
Собственно как его корень целиком забекапить?
Пока вожусь с ним.
===============================
Кому интересно тело - Huawei U8950-1 (с одной симкой U8950D -китайский двухсимочный).
Разблокировка бутлоадера:
Код на офф сайте забираем. Ждем до 3-х дней.
fastboot:

# layman -a gentoo-zh
# emerge --ask dev-android/fastboot

Настройки >> Быстрая Загрузка >> Выкл; Выключаем тело.
Зажать "громкость вниз" и "вкл", ждем 5-10 сек до зависания лого Huawei.
Смотрим что в наличии:

# fastboot devices
13052b50    fastboot

Разблокировка:

# fastboot oem unlock XXXXXXXXXX

XXXXXXXXXX - код который прислали.
Перезагрузка:

# fastboot reboot

===============================
Дальше - Android Debug Bridge (ADB) - тут запутался, какой пакет за что отвечает вроде этот:

dev-util/android-sdk-update-manager

adb

# adb devices
List of devices attached 
0C37DCA82FF1    device
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

2

# lsusb | grep Huawei
Bus 003 Device 005: ID 12d1:1038 Huawei Technologies Co., Ltd. Ideos (debug mode)

sys-fs/mtpfs поставил, правила udev:
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="1038", MODE="0666"

# mtp-detect
libmtp version: 1.1.5

Listing raw device(s)
   No raw devices found.

Почему тут он не видит ничего?
libmtp

# eix libmtp
[i] media-libs/libmtp
     Available versions:  1.1.4 1.1.5 **9999 {+crypt doc examples static-libs}
     Installed versions:  1.1.5(13:30:21 23.12.2012)(-crypt -doc -examples -static-libs)
     Homepage:            http://libmtp.sourceforge.net/
     Description:         An implementation of Microsoft's Media Transfer Protocol (MTP).
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

3

Поставил busybox.
Теперь бы разобраться что бэкапить.

# adb shell ls /dev/block
loop0       loop5       mmcblk0p10  mmcblk0p15  mmcblk0p2   mmcblk0p7   platform
loop1       loop6       mmcblk0p11  mmcblk0p16  mmcblk0p3   mmcblk0p8
loop2       loop7       mmcblk0p12  mmcblk0p17  mmcblk0p4   mmcblk0p9
loop3       mmcblk0     mmcblk0p13  mmcblk0p18  mmcblk0p5   mmcblk1
loop4       mmcblk0p1   mmcblk0p14  mmcblk0p19  mmcblk0p6   mmcblk1p1
# adb shell cat /etc/fstab
/dev/block/mmcblk0p15 /cache ext4 rw
/dev/block/mmcblk0p18 /data ext4 rw
/dev/block/mmcblk0p19 /emmc vfat rw
/dev/block/mmcblk0p17 /system ext4 rw
/dev/block/mmcblk1p1 /sdcard vfat rw
# adb shell cat /proc/mounts
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p17 /system ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p18 /data ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p15 /cache ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p16 /cust ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/vold/179:33 /mnt/sdcard2 vfat ro,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/secure/asec vfat ro,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard2/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/block/vold/179:19 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/dm-0 /mnt/asec/com.dv.get-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/dm-1 /mnt/asec/com.lonelycatgames.Xplore-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
# adb shell ls -l /
drwxr-xr-x root     root              2012-12-24 01:25 acct
drwxrwx--- system   cache             2012-12-23 01:25 cache
-rwxr-x--- root     root       244652 1970-01-01 03:00 charger
dr-x------ root     root              2012-12-24 01:25 config
drwxr-xr-x root     root              1970-01-01 03:00 cust
lrwxrwxrwx root     root              2012-12-24 01:25 d -> /sys/kernel/debug
drwxrwx--x system   system            2012-12-24 01:25 data
-rw-r--r-- root     root          118 1970-01-01 03:00 default.prop
drwxr-xr-x root     root              2012-12-24 01:25 dev
lrwxrwxrwx root     root              2012-12-24 01:25 etc -> /system/etc
-rwxr-x--- root     root       102896 1970-01-01 03:00 init
-rwxr-x--- root     root         2344 1970-01-01 03:00 init.goldfish.rc
-rwxr-x--- root     root        20215 1970-01-01 03:00 init.huawei.rc
-rwxr-x--- root     root         1726 1970-01-01 03:00 init.msm7627a.rc
-rwxr-x--- root     root         1428 1970-01-01 03:00 init.msm7630.rc
-rwxr-x--- root     root         3990 1970-01-01 03:00 init.qcom.sh
-rwxr-x--- root     root        24860 1970-01-01 03:00 init.qcom.usb.rc
-rwxr-x--- root     root         6231 1970-01-01 03:00 init.qcom.usb.sh
-rwxr-x--- root     root        48422 1970-01-01 03:00 init.rc
-rwxr-x--- root     root         2707 1970-01-01 03:00 init.target.rc
drwxrwxr-x root     system            2012-12-24 01:25 mnt
drwxr-xr-x root     root              2012-12-24 01:25 music_HWUserData
drwxrwx--x system   system            2012-12-24 01:25 persist
dr-xr-xr-x root     root              1970-01-01 03:00 proc
drwxr-xr-x root     root              1970-01-01 03:00 res
drwx------ root     root              2012-10-12 09:11 root
drwxr-x--- root     root              1970-01-01 03:00 sbin
lrwxrwxrwx root     root              2012-12-24 01:25 sdcard -> /mnt/sdcard
drwxr-xr-x root     root              2012-12-24 01:25 sys
drwxr-xr-x root     root              1970-01-01 03:00 system
drwxr-xr-x root     root              1970-01-01 03:00 tp
-rw-r--r-- root     root          272 1970-01-01 03:00 ueventd.goldfish.rc
-rw-r--r-- root     root        11238 1970-01-01 03:00 ueventd.rc
lrwxrwxrwx root     root              2012-12-24 01:25 vendor -> /system/vendor
drwxr-xr-x root     root              1970-01-01 03:00 wifi
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

4

Интересно cat'ом образ раздела можно корректно снять через adb shell (adb shell - это похоже на чрут андроида, оболочка - sh)
Например так:

# adb shell su -c "cat /dev/block/mmcblk0" > mmcblk0.img

su внутри без парольный.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

5

Оказалось все гораздо проще, надо было просто подумать...

# adb pull /dev/block/mmcblk0 backup.img

И у нас в распоряжении все устройство целиком.
Или можно также отдельными разделами, а вот где хранится информация раздел/fs так и непонятно.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

6

Красиво написано. Только вот на моем смартфоне su нету и как его туда внедрить совсем неясно(без прошивки разделов из bootloadera)

7

CyanogenMod - без него никак, на 4пда ищи свою модель...

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

8

А если использовать режим fastboot. Там есть опция (boot <kernel> [ <ramdisk> ]) значит можно на смарт загрузить своё ядро и рамдиск и запустить свой linux на смарте. И если это так то через него можно получить доступ к разделам без получения root и установки Mod`а (хотя бы на чтение) или здесь есть свои подводные камни (или я не прав). Хотелось бы все-таки сохранить оригинальный bootloader.

9

По идее можно, только вот бутлоадер должен быть разблокирован, у меня без этого невозможно было ничего на тело залить, в общем были перепробованы все варианты, без разблокировки и установки recovery раздела от CM никак.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

10

А можно ли где нибудь достать рабочее скомпилированное ядро под этот девайс? Пробовал для ZTE Blade таким способом загружать ядро и рамдиск выдранные из ClockWorkMod recovery. И устройство разукрасив экран в разные цвета уходило в зависание. Но факт в том что в образе ClockWorkMod это же ядро работает без проблем может надо было добавлять командную строку какую-то или указать вручную адрес загрузки ядра. Но с ним у меня так ничего и не получилось да и не все попробовал что хотел (тело сдохло).

11

zenon пишет:

# adb pull /dev/block/mmcblk0 backup.img

ка успехи? прообовал уже такой бекап обратно накатить после какого-нить фейла?

95% процентов проблем находятся между клавиатурой и стулом.

12 (17.02.2013 00:11:05 отредактировано zenon)

Fat-Zer, тут дело в том, что на мое тело официальной прошивки Huawei 8950 нет до сих пор в открытом доступе  http://4pda.ru/forum/index.php?showtopic=421021
Поэтому пытался найти манёвр слить её... не тут-то было, подробности этого замкнутого круга уже толком не помню, не актуально стало.
В итоге залил CyanogenMod на свой страх и риск... в первых рядах... ничего работает, и бэкапы делает, так что adb теперь вроде как и не нужен, плюс ssh доступ есть, чего ещё желать? _:)
Смарт в продаже с декабря...

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

13

А, примерно так - fastboot может залить recovery.img, чтобы получить потом рута, и тогда можно заливать раздел через adb, но и через новый recovery (CM) после фастбута тоже можно.... как-то так.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.