Монтирование образов системы Google Android'а

Для просмотра и модификации образов с Google Android, нужно:

1) скачать yaffs2 и установить

2) Создаем эмулятор nand флешки

sudo modprobe nandsim first_id_byte=0x20 second_id_byte=0xac third_id_byte=0x00 fourth_id_byte=0x15

3)Добавляем block и char интерфейсы к mtd устройствам

sudo modprobe mtdblock

sudo modprobe mtdchar

3) скачать mtd-tools

4) пропатчить nandwrite.c и скомпилировать mtd-tools

diff -uar mtd-utils-1.0.0/nandwrite.c mtd-utils-1.0.0-x/nandwrite.c
--- mtd-utils-1.0.0/nandwrite.c    2006-04-30 16:59:15.000000000 -0400
+++ mtd-utils-1.0.0-x/nandwrite.c    2007-08-07 10:03:04.000000000 -0400
@@ -392,7 +392,7 @@
                goto closeall;
            }
            if (!noecc) {
-                int i, start, len;
+                int i, start, len, off = 0;
                /*
                 * We use autoplacement and have the oobinfo with the autoplacement
                 * information from the kernel available
@@ -402,12 +402,12 @@
                 */
                if (!oobinfochanged && (old_oobinfo.useecc == MTD_NANDECC_AUTOPLACE)) {
                    for (i = 0;old_oobinfo.oobfree[i][1]; i++) {
-                        /* Set the reserved bytes to 0xff */
                        start = old_oobinfo.oobfree[i][0];
                        len = old_oobinfo.oobfree[i][1];
                        memcpy(oobbuf + start,
-                            oobreadbuf + start,
+                            oobreadbuf + off,
                            len);
+                        off += len;
                    }
                } else {
                    /* Set at least the ecc byte positions to 0xff */

5) загрузить образ в nandsim устройство

sudo ./nandwrite -a -o /dev/mtd0 /home/m0sia/android-sdk-linux_x86-1.0_r1/tools/lib/images/system.img

6) примонтировать устройство

sudo mount /dev/mtd0 /mnt/system/

7)Дальше можно смотреть и зменять образ как вздумается

$ ls -la /mnt/system/
drwxr-xr-x 1 root root 2048 2008-09-23 02:41 .
drwxr-xr-x 3 root root 4096 2008-11-10 19:33 ..
drwxr-xr-x 1 root root 2048 2008-09-23 02:42 app
drwxr-xr-x 1 root 2000 2048 2008-09-23 02:38 bin
-rw-r--r-- 1 root root 1129 2008-09-23 02:35 build.prop
drwxr-xr-x 1 root root 2048 2008-09-23 02:45 etc
drwxr-xr-x 1 root root 2048 2008-09-23 02:37 fonts
drwxr-xr-x 1 root root 2048 2008-09-23 02:42 framework
drwxr-xr-x 1 root root 2048 2008-09-23 02:38 lib
drw-rw-rw- 1 root root 2048 2008-11-10 20:13 lost+found
drwxr-xr-x 1 root root 2048 2008-09-23 02:37 media
drwxr-xr-x 1 root root 2048 2008-09-23 02:37 sounds
drwxr-xr-x 1 root root 2048 2008-09-23 02:37 usr
drwxr-xr-x 1 root 2000 2048 2008-09-23 02:38 xbin

8) при помощи nanddump можно сдампить измененный образ и использовать в эмуляторе

Хуясе как

Хуясе как сложно... С Motorola Z6 всё проще: flash-tool -ms имя_прошивки.sbf unsquashfs имя_прошивки.CGимя_кодовой_группы.smg lol2fast4u.livejournal.com