Mobile Devices

Войдите в свой аккаунт

Как портировать кастомное рекавери Carliv Touch Recovery v2.7 (Jelly Bean) на MediaTek

  • Старый 13.03.2015, 21:30

    Инструкция по портированию кастомного рекавери Carliv Touch Recovery v2.7 (Jelly Bean) на MediaTek



    Инструкция состоит из четырёх частей:



    1. Подготовка (что нам понадобится)
    2. Получение информации о разделах памяти устройства и файловой системе
    3. Выбор подходящих образов Carliv Touch Recovery
    4. Распаковка обрязов boot.img, recovery.img, carliv.img и подготовка к редактированию
    5. Редактирование ramdisk файлов и запаковка рекавери


    Что понадобится:


    • boot.img и recovery.img из стоковой прошивки вашего устройства (та прошивка что установлена в данный момент, а не другая, только Android Jelly Bean)
    • Установленные adb и fastboot драйвера. Можно попробовать этот драйвер: Универсальный установщик adb и fastboot драйверов или же этот универсальный adb драйвер
    • Установленная Java JDK, переходим по ссылке, нажимаем "Accept License Agreement" и скачиваем установочный .exe файл для Windows x86 (для 32-битной винды) или Windows x64 (для 64-битной)
    • Инструменты adb и fastboot. Во вложениях к этому посту ниже, скачать архив android.zip, распаковать его и получившуюся папку под названием "android" (назвал так для удобства, желательно не переименовывать) скопировтаь в корень диска С вашего ПК
    • Инструменты для распаковки и запаковки образов boot.img и recovery.img. В данной инструкции будут использоваться "Boot & Recovery Repack for Windows by Michfood". Скачать из вложений архив michfood.zip, распаковать его, а получившуюся папку "michfood" (назвал коротко для удобства, желательно не переименовывать) скопировать в корень диска С. Копировать надо именно в корень диска С, иначе инструменты могут не работать
    • Удобный текстовы редактор, например, бесплатный Notepad++ (я пользовался Sublime Text 2)


    Получение информации о разделах памяти устройства и файловой системе



    1. Заходим в настройки нашего смартфона/планшета и включаем "Отладку USB" в разделе настроек "Для разработчиков", а затем подключаем устройство к ПК

    2. Заходим в папку "android", которую мы подготовили заранее, зажимаем клавишу Shift на клавиатуре и кликаем в любом пустом месте папки, а затем под курсором выбираем пункт "Открыть окно команд". Появляется командная строка. Для проверки корректного подключения устройства через adb вводим следующую команду (после набора нажать Enter):
    Код:
    adb devices
    После выполения данной команды в командной строке должно будет отобразиться примерно следующее:
    Код:
    List of devices attached
    0123456789ABCDEF        device
    Если у вас висит сообщение "waiting for device", то вы либо не установили драйвера, либо не включили "Отладку по USB", либо же соединение с устройством через adb блокируется фаерволом или антивирусом (попробуйте их отключить на время выполения данного пункта). Так же при выполнении команды "adb devices" убедитесь что экран устройтсва разблокирован. Если напротив номера устройства висит сообщение "unauthorized" вместо "device", то попробуйте выполнить команду "adb devices" еще раз, только при этом смотрите на экран устройства и если там появится запрос на предоставление соединения, поставьте флажок напротив "always allow" (или "всегда разрешать" вроде) и дайте доступ

    3. После того как была успешно выполнена команда "adb devices" выполняем следующую команду:
    Код:
    adb shell cat /proc/dumchar_info
    После выполнения должно отобразиться приблизительно следующее (пример с Lenovo A369i Android 4.2.2):
    Код:
    Part_Name       Size    StartAddr       Type    MapTo
    preloader    0x0000000000880000   0x0000000000000000   2   /dev/misc-sd
    mbr          0x0000000000080000   0x0000000000000000   2   /dev/block/mmcblk0
    ebr1         0x0000000000080000   0x0000000000080000   2   /dev/block/mmcblk0p1
    pro_info     0x0000000000300000   0x0000000000100000   2   /dev/block/mmcblk0
    nvram        0x0000000000500000   0x0000000000400000   2   /dev/block/mmcblk0
    protect_f    0x0000000000a00000   0x0000000000900000   2   /dev/block/mmcblk0p2
    protect_s    0x0000000000a00000   0x0000000001300000   2   /dev/block/mmcblk0p3
    seccfg       0x0000000000020000   0x0000000001d00000   2   /dev/block/mmcblk0
    uboot        0x0000000000080000   0x0000000001d20000   2   /dev/block/mmcblk0
    bootimg      0x0000000000f00000   0x0000000001da0000   2   /dev/block/mmcblk0
    recovery     0x0000000000f00000   0x0000000002ca0000   2   /dev/block/mmcblk0
    sec_ro       0x0000000000040000   0x0000000003ba0000   2   /dev/block/mmcblk0
    misc         0x0000000000080000   0x0000000003be0000   2   /dev/block/mmcblk0
    logo         0x0000000000300000   0x0000000003c60000   2   /dev/block/mmcblk0
    expdb        0x0000000000a00000   0x0000000003f60000   2   /dev/block/mmcblk0
    android      0x0000000028a00000   0x0000000004960000   2   /dev/block/mmcblk0p4
    cache        0x0000000017800000   0x000000002d360000   2   /dev/block/mmcblk0p5
    usrdata      0x0000000052c00000   0x0000000044b60000   2   /dev/block/mmcblk0p6
    fat          0x00000000503a0000   0x0000000097760000   2   /dev/block/mmcblk0p7
    bmtpool      0x0000000001500000   0x00000000ff7700a8   2   /dev/block/mmcblk0
    Part_Name:Partition name you should open;
    Size:size of partition
    StartAddr:Start Address of partition;
    Type:Type of partition(MTD=1,EMMC=2)
    MapTo:actual device you operate
    4. Далее нам надо выделить весть этот текст и сохранить в текстовый файл. Для этого делаем клик правой кнопкой мышкой в окне командной строки и выбираем под курсором пункт "Пометить", а потом выделяем все нужное нам как обычный текст и сразу после выделения нажимаем Enter, чтобы скопировать в буфер обмена. Копируем данные в текстовый файл dumchar_info.txt и сохраняем в удобное для вас место

    5. Можно отключить устройство от ПК и переходить к следующему пункту (пост ниже)

    Cкачать:



    <phrase 1= android.zip
    <phrase 1= michfood.zip


  • Старый 13.03.2015, 21:30

    Выбор подходящих образов Carliv Touch Recovery



    1. Далее нам надо найти на нашем устройстве папки "lun0" и "lun1", от этого будет зависеть будет ли работать "USB Mass Storage" в режиме recovery. Для нахождения данных файлов можно воспользоваться любым файловым менеджером, например, бесплатным ES File Explorer. На данный момент существуют два пути в памяти устройств на чипсете MediaTek где хранятся данные папки:
    • Старая версия: /sys/devices/platform/mt_usb/gadget/ - на устройствах с более старыми чипсетами (MT6572, MT6589 и т. д.)
    • Новая версия: /sys/devices/platform/mt_usb/musb-hdrc.0/gadget/ - на устройства с более новыми чипсетами (MT6582, MT6592 и т. д.)

    2. Скачиваем образы Carliv Touch Recovery для файловой системы EMMC без раздела custpack (подавляющее большинство устройств на MediaTek). Файловую систему можно посмотреть в dumchar_info, если напротив каждого раздела стоит цифра 2, то ваша файловая система именно EMMC (пример ниже). Если у вас есть раздел custpack, то образы из этого пункта вам не подойдут, переходите к следующему пункту.
    Код:
    sec_ro       0x0000000000040000   0x0000000003ba0000   2   /dev/block/mmcblk0
    misc         0x0000000000080000   0x0000000003be0000   2   /dev/block/mmcblk0
    logo         0x0000000000300000   0x0000000003c60000   2   /dev/block/mmcblk0
    Скачивать образ необходимо в зависимости от разрешения дисплея вашего устройства, то есть если разрешение вашего устройства 720x1280, то качаем образ в названии которого "720x1280" (не путать с 1280x720 для планшетов). Так же надо выбрать где у вас расположена папка "lun" как указано в первом пункте:
    • Если путь к папке lun расположен в /sys/devices/platform/mt_usb/gadget/
    • Если путь к папке lun расположен в /sys/devices/platform/mt_usb/musb-hdrc.0/gadget/

    3. Если в вашем dumchar_info есть раздел custpack (есть на всех устройствах Alcatel и TCL например), как показано в примере ниже, то для вас образы Carliv Touch Recovery будут другими.
    Код:
    pro_info     0x0000000000080000   0x0000000001de0000   2   /dev/block/mmcblk0
    custpack     0x0000000019d00000   0x0000000001e60000   2   /dev/block/mmcblk0p3
    mobile_info  0x0000000000800000   0x000000001bb60000   2   /dev/block/mmcblk0p4
    Скачиваем нужный нам образ в зависимости от разрешения дислпея и расположения папки "lun", которую мы определили в первом пункте (не путайте разрешение для смартфона, с разрешением для планшета, например 720x1280 для смартфона, а 1280x720 для планшета):
    • Если путь к папке lun расположен в /sys/devices/platform/mt_usb/gadget/
    • Если путь к папке lun расположен в /sys/devices/platform/mt_usb/musb-hdrc.0/gadget/

    4. Если же в вашем устройстве используется такая файловая система как "ubifs", то напротив каждого раздела в dumchar_info будет стоять "1":
    Код:
    android      0x000000001f400000   0x00000010   1   /dev/mtd/mtd16   USER
    cache        0x0000000008000000   0x00000011   1   /dev/mtd/mtd17   USER
    usrdata      0x00000001bf000000   0x00000012   1   /dev/mtd/mtd18   USER
    Для этой файловой системы образы будут другими. Скачайте образ Carliv Touch Recovery для файловой системы "ubifs" в зависимости от разрешения дисплея вашего устройства и расположения папки "lun" (которое мы определили в первом пункте). Пожалуйсте не путайте разрешение для смартфона с разрешением для планшета, например 720x1280 это для смартфона, а 1280x720 для планшета:
    • Если путь к папке lun расположен в /sys/devices/platform/mt_usb/gadget/
    • Если путь к папке lun расположен в /sys/devices/platform/mt_usb/musb-hdrc.0/gadget/

    5. Скачанный образ в формате .img, для удобства, переименуйте в carliv.img и скопируйте в папку C:\michfood, которую мы создали на подготовительном этапе (то есть папка где находятся инструменты по распаковке и запаковке recovery.img и boot.img образов).
  • Старый 13.03.2015, 21:30

    Распаковка обрязов boot.img, recovery.img, carliv.img и подготовка к редактированию



    1. Возьмите файлы boot.img и recovery.img из прошивки к вашему устройству (прошивка должна быть именно та что установленна у вас на данный момент) и скопируйте их в папку C:\michfood, куда вы уже ранее скопировали образ carliv.img

    2. Теперь нам необходимо распаковать все три образа. Для этого, находясь в папке с инструментами по распаковке (C:\michfood), каждый из трёх образов (recovery.img, boot.img, carliv.img) и по очереди перетаскиваем их мышкой на файл MTK_unpack.bat. Сразу после перетаскивания откроется окно командной строки в которой будет отображён процесс распавоки (занимает буквально пару секунд). После того как файл распакован нажмите в окне любую клавишу для его закрытия. Если в у вас в окне отображаются какие-то непонятные символы, то сделайте правый клик по заголовку окна выберите "свойства" -> "шрифт" -> "ТТ" любой.




    3. После того как образ распакован, в папке C:\michfood, появляется папка распакованного образа с точно таким же названием, смотрим ниже




    4. Теперь зайдите в папку boot и скопируйте оттуда файлы kernel и kernel_header в папку carliv с заменой




    5. Всё, теперь распакованные образы готовы к редактированию. Инструкция дальше, в следующем сообщении
  • Старый 13.03.2015, 21:31

    Редактирование ramdisk файлов



    1. Перейдите в папку C:\michfood\carliv\rmdisk\etc и при помощи текстового редактора откройте файл recovery.fstab. В другом окне текстового редактора откройте ваш dumchar_info.txt. Теперь нам надо привести пути к разделам в файле recovery.fstab в соответствие с путями из dumchar_info.txt (отредактировать файл как описано ниже и сохранить с изменениями). Если файловая система вашего устройства EMMC, то вам не надо редактировать пути для таких разделов как:
    • /boot
    • /misc
    • /nvram
    • /recovery
    • /uboot

    В dumchar_info разделы называются несколько иначе чем в recovery.fstab, а именно:
    • android это /system
    • usrdata это /data
    • fat это /emmc

    Если у вас нету раздела custpack и файловая система EMMC (как это узнать, мы определились выше), то редактируем как показано ниже (/sdcard, оставляем как есть (это внешняя sdcard):

    Пример для EMMC без custpack

    Код:
    preloader    0x0000000000880000   0x0000000000000000   2   /dev/misc-sd
    mbr          0x0000000000080000   0x0000000000000000   2   /dev/block/mmcblk0
    ebr1         0x0000000000080000   0x0000000000080000   2   /dev/block/mmcblk0p1
    pro_info     0x0000000000300000   0x0000000000100000   2   /dev/block/mmcblk0
    nvram        0x0000000000500000   0x0000000000400000   2   /dev/block/mmcblk0
    protect_f    0x0000000000a00000   0x0000000000900000   2   /dev/block/mmcblk0p2
    protect_s    0x0000000000a00000   0x0000000001300000   2   /dev/block/mmcblk0p3
    seccfg       0x0000000000020000   0x0000000001d00000   2   /dev/block/mmcblk0
    uboot        0x0000000000080000   0x0000000001d20000   2   /dev/block/mmcblk0
    bootimg      0x0000000000f00000   0x0000000001da0000   2   /dev/block/mmcblk0
    recovery     0x0000000000f00000   0x0000000002ca0000   2   /dev/block/mmcblk0
    sec_ro       0x0000000000040000   0x0000000003ba0000   2   /dev/block/mmcblk0
    misc         0x0000000000080000   0x0000000003be0000   2   /dev/block/mmcblk0
    logo         0x0000000000300000   0x0000000003c60000   2   /dev/block/mmcblk0
    expdb        0x0000000000a00000   0x0000000003f60000   2   /dev/block/mmcblk0
    android      0x0000000028a00000   0x0000000004960000   2   /dev/block/mmcblk0p4
    cache        0x0000000017800000   0x000000002d360000   2   /dev/block/mmcblk0p5
    usrdata      0x0000000052c00000   0x0000000044b60000   2   /dev/block/mmcblk0p6
    fat          0x00000000503a0000   0x0000000097760000   2   /dev/block/mmcblk0p7
    bmtpool      0x0000000001500000   0x00000000ff7700a8   2   /dev/block/mmcblk0
    Код:
    /boot		emmc		/dev/bootimg
    /misc		emmc		/dev/misc
    /nvram		emmc		/dev/nvram
    /recovery	emmc		/dev/recovery
    /uboot		emmc		/dev/uboot
    /system		ext4		/dev/block/mmcblk0p4
    /cache		ext4		/dev/block/mmcblk0p5
    /data		ext4		/dev/block/mmcblk0p6
    /emmc		vfat		/dev/block/mmcblk0p7
    /sdcard		vfat		/dev/block/mmcblk1p1	/dev/block/mmcblk1


    Если у вас есть раздел custpack и файловая система EMMC, то в recovery.fstab, необходимо добавить еще две строки, а именно для раздела custpack и mobile_info:

    Пример для EMMC с разделом custpack

    Код:
    preloader    0x0000000000040000   0x0000000000000000   2   /dev/misc-sd
    dsp_bl       0x0000000000ec0000   0x0000000000040000   2   /dev/misc-sd
    mbr          0x0000000000004000   0x0000000000000000   2   /dev/block/mmcblk0
    ebr1         0x0000000000004000   0x0000000000004000   2   /dev/block/mmcblk0p1
    ebr2         0x0000000000004000   0x0000000000008000   2   /dev/block/mmcblk0
    pmt          0x0000000000400000   0x000000000000c000   2   /dev/block/mmcblk0
    nvram        0x0000000000300000   0x000000000040c000   2   /dev/block/mmcblk0
    seccfg       0x0000000000020000   0x000000000070c000   2   /dev/block/mmcblk0
    uboot        0x0000000000060000   0x000000000072c000   2   /dev/block/mmcblk0
    bootimg      0x0000000000600000   0x000000000078c000   2   /dev/block/mmcblk0
    recovery     0x0000000000600000   0x0000000000d8c000   2   /dev/block/mmcblk0
    sec_ro       0x0000000000600000   0x000000000138c000   2   /dev/block/mmcblk0p2
    misc         0x0000000000060000   0x000000000198c000   2   /dev/block/mmcblk0
    logo         0x0000000000300000   0x00000000019ec000   2   /dev/block/mmcblk0
    expdb        0x00000000000f4000   0x0000000001cec000   2   /dev/block/mmcblk0
    pro_info     0x0000000000080000   0x0000000001de0000   2   /dev/block/mmcblk0
    custpack     0x0000000019d00000   0x0000000001e60000   2   /dev/block/mmcblk0p3
    mobile_info  0x0000000000800000   0x000000001bb60000   2   /dev/block/mmcblk0p4
    android      0x0000000019d00000   0x000000001c360000   2   /dev/block/mmcblk0p5
    cache        0x0000000013900000   0x0000000036060000   2   /dev/block/mmcblk0p6
    usrdata      0x0000000059200000   0x0000000049960000   2   /dev/block/mmcblk0p7
    fat          0x000000005c590200   0x00000000a2b60000   2   /dev/block/mmcblk0p8
    otp          0xffffffffe87efe00   0x00000000ff0f0200   2   /dev/block/mmcblk0
    bmtpool      0x0000000001500000   0x00000000ff0f00a8   2   /dev/block/mmcblk0
    Код:
    /boot         emmc	  /dev/bootimg
    /misc	      emmc	  /dev/misc
    /recovery     emmc	  /dev/recovery
    /nvram	      emmc	  /dev/nvram
    /uboot	      emmc	  /dev/uboot
    /system	      ext4	  /dev/block/mmcblk0p5
    /data	      ext4	  /dev/block/mmcblk0p7
    /cache	      ext4        /dev/block/mmcblk0p6
    /custpack     ext4        /dev/block/mmcblk0p3
    /mobile_info  ext4        /dev/block/mmcblk0p4
    /emmc         vfat	  /dev/block/mmcblk0p8
    /sdcard	      vfat	  /dev/block/mmcblk1p1    /dev/block/mmcblk1


    Если ваше устройство имеет файловую систему "ubifs" (как это узнать мы определились ранее), то вам необходимо привести в соответствие все пути к разделам как в dumchar_info (включая nvra, uboot, recovery и т. д.):

    Пример для файловой системы ubifs

    Код:
    nvram        0x0000000000c00000   0x00000002   1   /dev/mtd/mtd2   USER
    protect_f    0x0000000000c00000   0x00000003   1   /dev/mtd/mtd3   USER
    seccfg       0x0000000000400000   0x00000004   1   /dev/mtd/mtd4   USER
    uboot        0x0000000000400000   0x00000005   1   /dev/mtd/mtd5   USER
    bootimg      0x0000000000800000   0x00000006   1   /dev/mtd/mtd6   USER
    recovery     0x0000000000800000   0x00000007   1   /dev/mtd/mtd7   USER
    sec_ro       0x0000000000400000   0x00000008   1   /dev/mtd/mtd8   USER
    misc         0x0000000000c00000   0x00000009   1   /dev/mtd/mtd9   USER
    logo         0x0000000000400000   0x0000000a   1   /dev/mtd/mtd10   USER
    expdb        0x0000000000c00000   0x0000000b   1   /dev/mtd/mtd11   USER
    tee1         0x0000000000800000   0x0000000c   1   /dev/mtd/mtd12   USER
    tee2         0x0000000000800000   0x0000000d   1   /dev/mtd/mtd13   USER
    kb           0x0000000000400000   0x0000000e   1   /dev/mtd/mtd14   USER
    dkb          0x0000000000400000   0x0000000f   1   /dev/mtd/mtd15   USER
    android      0x000000001f400000   0x00000010   1   /dev/mtd/mtd16   USER
    cache        0x0000000008000000   0x00000011   1   /dev/mtd/mtd17   USER
    usrdata      0x00000001bf000000   0x00000012   1   /dev/mtd/mtd18   USER
    bmtpool      0x0000000000000000   0x00000000   1      USER
    Код:
    /boot		mtd		/dev/mtd/mtd6
    /misc		mtd		/dev/mtd/mtd9
    /nvram		mtd		/dev/mtd/mtd2
    /recovery	mtd		/dev/mtd/mtd7
    /uboot		mtd		/dev/mtd/mtd5
    /system		ubifs		/dev/mtd/mtd16
    /cache		ubifs		/dev/mtd/mtd17
    /data		ubifs		/dev/mtd/mtd18
    /emmc           vfat		/dev/block/mmcblk0p1	/dev/block/mmcblk0
    /sdcard		vfat		/dev/block/mmcblk1p1    /dev/block/mmcblk1



    2. Теперь переходим в папку C:\michfood\boot\rmdisk и открываем файл fstab (правый клик по файлу, открыть при помощи Notepad++), а затем сразу же открываем такой же файл, но уже из папки carliv, то есть C:\michfood\carliv\rmdisk. Копируем содержимое файла файла fstab из папки boot, а затем переносим его в файл fstab из папки carliv и вставляем его туда, после чего сохраняем файл C:\michfood\carliv\rmdisk\fstab с изменениями

    3. Далее открываем еще два файла, а именно default.prop из папки C:\michfood\recovery\rmdisk (это папка образа стокового рекавери, который мы взяли из прошивки), и default.prop из папки C:\michfood\carliv\rmdisk. Теперь нам надо привести в соответствие с данными из default.prop из папки recovery, ключевые значения для default.prop из папки carliv (то есть копировать будем из папки recovery в папку carliv, а потом сохраним файл с изменениями). Наже показаны ключевые параметры на которые надо обратить внимание. Синим выделены строки значения которых надо поменять, а красным сами значения (пример взят из Lenovo A369i на Android 4.2.2):

    default.prop из папки recovery

    Код:
    #
    # ADDITIONAL_DEFAULT_PROPERTIES
    #
    ro.secure=1
    ro.allow.mock.location=0
    persist.mtk.aee.aed=on
    ro.debuggable=0
    persist.sys.usb.config=mass_storage
    persist.service.acm.enable=0
    ro.mount.fs=EXT4
    # begin build properties
    # autogenerated by buildinfo.sh
    ro.build.id=JDQ39
    ro.build.display.id=A369i_ROW_S201_140610
    ro.build.version.incremental=213
    ro.custom.build.version=213
    ro.custom.external.version=LDA3I19.1.0_M295
    ro.custom.internal.version=LDA3I19.1.0.1.0T01A0610_M295
    ro.build.version.sdk=17
    ro.build.version.codename=REL
    ro.build.version.release=4.2.2
    ro.build.date=Tue Jun 10 17:47:15 CST 2014
    ro.build.date.utc=1402393635
    ro.build.type=user
    ro.build.user=jenkins
    ro.build.host=glsrv4
    ro.build.tags=release-keys
    ro.product.model=Lenovo A369i
    ro.product.brand=Lenovo
    ro.product.name=A369i
    ro.product.device=A369i
    ro.product.board=lcsh72_we_jb3
    ro.product.cpu.abi=armeabi-v7a
    ro.product.cpu.abi2=armeabi
    ro.product.manufacturer=LENOVO
    ro.product.locale.language=en
    ro.product.locale.region=US
    ro.wifi.channels=
    ro.board.platform=
    # ro.build.product is obsolete; use ro.product.device
    ro.build.product=lcsh72_we_jb3
    # Do not try to parse ro.build.deion or .fingerprint
    ro.build.deion=lcsh72_we_jb3-user 4.2.2 JDQ39 213 release-keys
    ro.build.fingerprint=Lenovo/A369i/A369i:4.2.2/JDQ39/A369i_ROW_S201_140610:user/release-keys
    ro.build.flavor=
    ro.build.characteristics=default
    ro.build.in-version=LDA3I19.1.0.1.0T01A0610_M295
    ro.build.ex-version=LDA3I19.1.0_M295
    ro.build.product-version=A369i_U_72V2_A01_140610
    ro.hardware=M295
    ro.product.type=Normal
    ro.build.display.spid=XXX
    ro.mac.bluetooth=XXX
    ro.mac.wifi=XXX
    ro.build.modemversion=A369i.V2,2013/08/14 14:37
    ro.product.ota.backuprestore=false
    # end build properties
    
    # begin mediatek build properties
    ro.mediatek.version.release=ALPS.JB3.MP.V1
    ro.mediatek.platform=MT6572
    ro.mediatek.chip_ver=S01
    ro.mediatek.version.branch=ALPS.JB3.MP
    ro.mediatek.version.sdk=1
    # end mediatek build properties
    #
    # system.prop for generic sdk
    #
    
    rild.libpath=/system/lib/mtk-ril.so
    rild.libargs=-d /dev/ttyC0
    
    
    # MTK, Infinity, 20090720 {
    wifi.interface=wlan0
    # MTK, Infinity, 20090720 }
    
    # MTK, mtk03034, 20101210 {
    ro.mediatek.wlan.wsc=1
    # MTK, mtk03034 20101210}
    # MTK, mtk03034, 20110318 {
    ro.mediatek.wlan.p2p=1
    # MTK, mtk03034 20110318}
    
    # MTK, mtk03034, 20101213 {
    mediatek.wlan.ctia=0
    # MTK, mtk03034 20101213}
    
    
    #
    wifi.tethering.interface=ap0
    #
    
    ro.opengles.version=131072
    
    wifi.direct.interface=p2p0
    dalvik.vm.heapgrowthlimit=96m
    dalvik.vm.heapsize=128m
    
    # USB MTP WHQL
    ro.sys.usb.mtp.whql.enable=0
    
    # Power off opt in IPO
    sys.ipo.pwrdncap=2
    
    ro.sys.usb.storage.type=mtp,mass_storage
    
    # USB BICR function
    ro.sys.usb.bicr=no
    
    # USB Charge only function
    ro.sys.usb.charging.only=yes
    
    # audio
    ro.camera.sound.forced=0
    ro.audio.silent=0
    
    ro.zygote.preload.enable=0
    
    # temporary enables NAV bar (soft keys)
    qemu.hw.mainkeys=1
    
    ro.kernel.zio=38,108,105,16
    ro.operator.optr=CUST
    
    # gsensor info
    persist.gsensor.encali=1
    
    #
    # ADDITIONAL_BUILD_PROPERTIES
    #
    persist.gemini.sim_num=2
    ro.gemini.smart_sim_switch=false
    ril.specific.sm_cause=0
    ril.external.md=0
    ro.sf.hwrotation=0
    ril.current.share_modem=2
    curlockscreen=1
    ro.mediatek.gemini_support=true
    persist.radio.fd.counter=15
    persist.radio.fd.off.counter=5
    persist.radio.fd.r8.counter=15
    persist.radio.fd.off.r8.counter=5
    persist.mtk.wcn.combo.chipid=-1
    drm.service.enabled=true
    fmradio.driver.enable=1
    ril.first.md=1
    ril.flightmode.poweroffMD=1
    ril.telephony.mode=3
    ro.com.google.clientidbase=android-lenovo
    dalvik.vm.mtk-stack-trace-file=/data/anr/mtk_traces.txt
    mediatek.wlan.chip=mediatek.wlan.module.postfix=_
    ril.radiooff.poweroffMD=0
    ro.config.notification_sound=Heaven_nearby.ogg
    ro.config.alarm_alert=Dreamland.ogg
    ro.config.ringtone=Salt_water.ogg
    ro.setupwizard.mode=OPTIONAL
    ro.com.google.gmsversion=4.2_r3
    net.bt.name=Android
    dalvik.vm.stack-trace-file=/data/anr/traces.txt

    default.prop из папки carliv

    Код:
    #
    # ADDITIONAL_DEFAULT_PROPERTIES
    #
    ro.secure=0
    ro.allow.mock.location=1
    persist.mtk.aee.aed=on
    ro.debuggable=1
    persist.service.acm.enable=0
    persist.sys.usb.config=mass_storage,adb
    ro.bootloader.mode=download
    ro.mount.fs=EXT4
    # begin build properties
    # autogenerated by buildinfo.sh
    ro.build.id=JDQ39E
    ro.build.display.id=cm_A369i-eng 4.2.2 JDQ39E c1ccaef198 test-keys
    ro.build.version.incremental=c1ccaef198
    ro.build.version.sdk=17
    ro.build.version.codename=REL
    ro.build.version.release=4.2.2
    ro.build.date=Sat Dec  6 17:10:08 EET 2014
    ro.build.date.utc=0
    ro.build.type=eng
    ro.build.user=carliv
    ro.build.host=max
    ro.build.tags=test-keys
    ro.product.model=Lenovo A369i
    ro.product.brand=Lenovo
    ro.product.name=cm_A369i
    ro.product.device=A369i
    ro.product.board=lcsh72_we_jb3
    ro.product.cpu.abi=armeabi-v7a
    ro.product.cpu.abi2=armeabi
    ro.product.manufacturer=LENOVO
    ro.product.locale.language=en
    ro.product.locale.region=US
    ro.wifi.channels=
    ro.board.platform=mt6572
    # ro.build.product is obsolete; use ro.product.device
    ro.build.product=lcsh72_we_jb3
    # Do not try to parse ro.build.deion or .fingerprint
    ro.build.deion=cm_A369i-eng 4.2.2 JDQ39E c1ccaef198 test-keys
    ro.build.fingerprint=Lenovo/cm_A369i/A369i:4.2.2/JDQ39E/c1ccaef198:eng/test-keys
    ro.build.characteristics=default
    ro.cm.device=A369i
    # end build properties
    #
    # system.prop for old
    #
    
    #
    # ADDITIONAL_BUILD_PROPERTIES
    #
    ro.rommanager.developerid=cyanogenmod
    keyguard.no_require_sim=true
    ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
    ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
    ro.com.google.clientidbase=android-google
    ro.com.android.wifi-watchlist=GoogleGuest
    ro.setupwizard.enterprise_mode=1
    ro.com.android.dateformat=MM-dd-yyyy
    ro.com.android.dataroaming=false
    persist.sys.root_access=1
    ro.cm.version=10.1-20141206-UNOFFICIAL-A369i
    ro.modversion=10.1-20141206-UNOFFICIAL-A369i
    ro.config.ringtone=Orion.ogg
    ro.config.notification_sound=Argon.ogg
    ro.config.alarm_alert=Hassium.ogg
    ro.carrier=unknown
    ro.ril.hsxpa=1
    ro.ril.gprsclass=10
    ro.adb.qemud=1
    ro.kernel.android.checkjni=1
    net.bt.name=Android
    dalvik.vm.stack-trace-file=/data/anr/traces.txt



    4. Далее открываем следующие два файла, а именно файл init.rc из папки carliv (C:\michfood\carliv\rmdisk) и init.usb.rc из папки boot (C:\michfood\boot\rmdisk). В файле init.usb.rc, нам надо найти данные idVendor и idProduct в функции mass_storage,adb. В примере ниже взяты файлы из прошивки для Lenovo A369i на Android 4.2.2, вы можете видеть что idVendor равен фукнции $sys.usb.vid, которая, в свою очередь, равна 0BB4 (в начале файла init.usb.rc), а idProduct равен 0C03

    init.usb.rc

    Код:
    on init
    # Workarunod for USB unknow device issue
    # USB would switch correct function when set properity sys.usb.config
        setprop sys.usb.vid 0BB4
        write /sys/class/android_usb/android0/iSerial $ro.serialno
        write /sys/class/android_usb/android0/idVendor $sys.usb.vid
    
    on post-fs-data
        chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file
        chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file
        chown system system /sys/class/android_usb/android0/f_rndis/ethaddr
        chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr
    
        write /sys/class/android_usb/android0/f_rndis/wceis 1
        write /sys/class/android_usb/android0/f_rndis/manufacturer MediaTek    
        write /sys/class/android_usb/android0/f_rndis/vendorID $sys.usb.vid
    
    # Used to set USB configuration at boot and to switch the configuration
    # when changing the default configuration
    on property:persist.sys.usb.config=*
        setprop sys.usb.config $persist.sys.usb.config
    
    # Used to disable USB when switching states
    on property:sys.usb.config=none
        stop adbd
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/bDeviceClass 0
        setprop sys.usb.state $sys.usb.config
    
    #1.acm
    on property:sys.usb.config=acm
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/idVendor $sys.usb.vid
        write /sys/class/android_usb/android0/idProduct 0006
        write /sys/class/android_usb/android0/f_acm/instances 1
        write /sys/class/android_usb/android0/functions $sys.usb.config
        write /sys/class/android_usb/android0/bDeviceClass 02
        write /sys/class/android_usb/android0/enable 1
        setprop sys.usb.state $sys.usb.config
    
    #5.mass_storage,adb
    on property:sys.usb.config=mass_storage,adb
        write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/idVendor $sys.usb.vid
        write /sys/class/android_usb/android0/idProduct 0C03
        write /sys/class/android_usb/android0/functions $sys.usb.config
        write /sys/class/android_usb/android0/enable 1
        start adbd
        setprop sys.usb.state $sys.usb.config

    init.usb

    Код:
    on early-init
        start ueventd
    
    on init
        export PATH /sbin
        export ANDROID_ROOT /system
        export ANDROID_DATA /data
        export EXTERNAL_STORAGE /sdcard
    
        symlink /system/etc /etc
    
        mkdir /boot
        mkdir /misc
        mkdir /storage
        mkdir /sdcard
        mkdir /internal_sd
        mkdir /external_sd
        mkdir /sd-ext
        mkdir /datadata
        mkdir /emmc
        mkdir /system
        mkdir /data
        mkdir /cache
        mount /tmp /tmp tmpfs
        
        chown root shell /tmp
        chmod 0775 /tmp
        
    	write /sys/class/android_usb/android0/enable 0
        write /sys/class/android_usb/android0/iSerial "0123456789ABCDEF"	
        write /sys/class/android_usb/android0/idVendor 0BB4
        write /sys/class/android_usb/android0/idProduct 0C03
    	write /sys/class/android_usb/android0/functions mass_storage,adb
        write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
        write /sys/class/android_usb/android0/iProduct ${ro.product.model}
        write /sys/class/android_usb/android0/enable 1
    
    on boot
    
        ifup lo
        hostname localhost
        domainname localdomain
    
        class_start default
    
    on property:sys.powerctl=*
       powerctl ${sys.powerctl}
    
    service ueventd /sbin/ueventd
        critical
    
    service recovery /sbin/recovery
    
    service setup_adbd /sbin/setup_adbd
        oneshot
    
    service adbd /sbin/adbd recovery
        disabled    
     
    # Recovery will start adb once it has checked the keys
    
    on property:ro.debuggable=1
        #write /sys/class/android_usb/android0/enable 1
        #start adbd
        setprop service.adb.root 1
        
    # Restart adbd so it can run as root
    on property:service.adb.root=1
        write /sys/class/android_usb/android0/enable 0
        restart adbd
        write /sys/class/android_usb/android0/enable 1


    5. Это был последнний файл который нам надо было поправить, сохраните изменения в файле C:\michfood\carliv\rmdisk\init.rc. А затем запакуйте папку carliv при помощи файла MTK_pack.bat, так же как и распаковывали, то есть просто перетащить папку carliv на файл MTK_pack.bat, получившийся образ и будет готовым кастомным рекавери Carliv Touch Recovery v2.7 для вашего устройства. Теперь вы можете прошить данное рекавери при помощи SP Flash Tool
  • Старый 14.03.2015, 01:49
    осилил

    завтра попробую для KitKat написать
  • Старый 05.04.2015, 01:14
    не понял какой вид должен иметь recovery.fstab уже с изменёнными параметрами
    скины можешь кинуть до редактирования и после??
  • Старый 05.04.2015, 18:05
    Сообщение от Жека Рубин
    не понял какой вид должен иметь recovery.fstab уже с изменёнными параметрами
    скины можешь кинуть до редактирования и после??
    такой же как и раньше, только меняешь пути 'dev/block', то есть приводиш их в соответствие с dumchar_info. Не забывай что в dumchar_info разделы называются несколько иначе чем в recovery.fstab, а именно:
    • android это /system
    • usrdata это /data
    • fat это /emmc

    Пример recovery.fstab

    Код:
    /boot		emmc		/dev/bootimg
    /misc		emmc		/dev/misc
    /nvram		emmc		/dev/nvram
    /recovery	emmc		/dev/recovery
    /uboot		emmc		/dev/uboot
    /system		ext4		/dev/block/mmcblk0p4
    /cache		ext4		/dev/block/mmcblk0p5
    /data		ext4		/dev/block/mmcblk0p6
    /emmc		vfat		/dev/block/mmcblk0p7
    /sdcard		vfat		/dev/block/mmcblk1p1	/dev/block/mmcblk1
  • Старый 14.04.2015, 13:18
    Доброго времени суток. спасибо за инструкцию.
    рековери портировал, но отображается картинка вверх ногами, какой файл надо править, чтобы это исправить?
  • Старый 14.04.2015, 14:09
    Сообщение от Random Al
    Доброго времени суток. спасибо за инструкцию.
    рековери портировал, но отображается картинка вверх ногами, какой файл надо править, чтобы это исправить?
    попробуйте в default.prop (файл внутри вашего recovery.img в папке ramdisk) изменить ro.sf.hwrotation=0 на 180, или если 180 то на ноль.
  • Старый 14.04.2015, 15:16
    К сожалению не помогает, пробовал и 0 и 180, результат тот же(

    Пара вопросов по теме:
    Может есть возможность перевернуть тач в рекавери?
    Можно ли подключить хардравные кнопки управления курсора в рековери?
  • Старый 14.04.2015, 19:08
    Что это рекавери для Jelly Bean - это понятно. Но, на всякий случай спрошу: "Для 4.1.1 не подойдёт?"
  • Старый 14.04.2015, 19:17
    Сообщение от Игорь Степовой
    Что это рекавери для Jelly Bean - это понятно. Но, на всякий случай спрошу: "Для 4.1.1 не подойдёт?"
    пойдёт по-идее, почему нет. jelly bean же, что 4.1.1 что 4.3
  • Старый 14.04.2015, 19:46
    Сообщение от Random Al
    К сожалению не помогает, пробовал и 0 и 180, результат тот же(

    Пара вопросов по теме:
    Может есть возможность перевернуть тач в рекавери?
    Можно ли подключить хардравные кнопки управления курсора в рековери?
    к сожалению ничего не могу подсказать. попробуйте в оригинальной теме на xda developers спросить http://forum.xda-developers.com/show....php?t=2471479
  • Старый 14.04.2015, 21:54
    Поставил на Андроид 4.1.1 и MTK6575 - всё работает!!!

    P.S. На ББ (ПК) BIOS давно с графической оболочкой и управлением мышкой ставят. А Андроид пока отстаёт...
  • Старый 14.04.2015, 22:10
    Сообщение от Игорь Степовой
    P.S. На ББ (ПК) BIOS давно с графической оболочкой и управлением мышкой ставят. А Андроид пока отстаёт...
    здрасте

    а TWRP? есть и CWM с рабочем тачем, есть и CTR

    в версии CTR 2.7 разве не работает тач? я себе 3.0 портировал с соседней темы, тач работает
  • Старый 14.04.2015, 22:47
    Производители MB "в коробке" ставят навороченные BIOS`ы. Вы в стоковом рекавери (мало того, что убогом по функционалу) тач видели?
    Да, и давно ли в кастомных тач появился? Я как обыкновенный пользователь о таком два дня назад узнал. Всё как-то CWM пользовался.
  • Старый 14.04.2015, 22:59
    Сообщение от Игорь Степовой
    Вы в стоковом рекавери (мало того, что убогом по функционалу) тач видели?
    а зачем он стоковому рекавери? там кроме вайпа раздела data и кэша сделать ничего нельзя, ну ещё установить стоковую прошивку (если такая имеется для стокового рекавери, ну или какой-то оф. апдейт)

    я бы не сравнивал рекавери с биосом ПК

    p.s. обращайся пожалуйста ко мне на ТЫ, я наверно даже моложе тебя
  • Старый 14.04.2015, 23:31
    Сообщение от Fish
    обращайся пожалуйста ко мне на ТЫ
    нет проблем.
  • Старый 17.04.2015, 01:48
    Сообщение от Brick Top
    Инструкция по портированию кастомного рекавери Carliv Touch Recovery v2.7 (Jelly Bean) на MediaTek
    Эта инструкция и для портирования TWRP Recovery подходит, главное найти подходящего донора(проц/разрешение_экрана)
    Во всяком случае у меня порт TWRP лучше завелось нежели Carliv Touch Recovery.
  • Старый 17.04.2015, 01:50
    Сообщение от Random Al
    Эта инструкция и для портирования TWRP Recovery подходит.
    Во всяком случае у меня порт TWRP лучше завелось нежели Carliv Touch Recovery.
    вот это поворот. а где вы образы twrp взяли? с которых портировали. просто с другого устройства с таким же разрешением?
  • Чтобы скачивать фаилы и оставлять сообщения на форуме зарегистрируйтесь


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot