motofan logo
> 

[A3100] Основы создания прошивки, Курс молодого бойца

Прошивка для А3100
Нужна ли тема по созданию прошивок для А3100
Да [ 24 ] ** [92.31%]
Нет [ 2 ] ** [7.69%]
Всего голосов: 26
Вы должны набрать 0 поста, что бы голосовать. 
@leks
сообщение 31.3.2010, 3:41


xakep
*****

Группа: Пользователи
Сообщений: 486
Регистрация: 11.3.2007
Из: Сургут
Пользователь №: 126 393
Модель телефона: Quench XT5
Прошивка: @leks Mod 0.1


Настроение:
Не будем о грустном...



Рейтинг: 358



Итак, начнем потихонечку...

Кухня WM 6.5.3 ТУТ зеркало зеркало2
Кухня WM 6.1 ТУТ зеркало зеркало2


Для начала, нам нужно иметь дамп той прошивки, которую мы хотим модифицировать...
Прошиваем телефон нужной нам прошивкой (любой, на базе которой вы хотите делать свою модификацию).
Я буду использовать дамп 20-ой китайской прошивки, на данный момент последняя официальная прошивка...
Получение дампа прошивки:
Spoiler:

Для снятия дампа нужно:
  1. Изменить в реестре на телефоне HKLM\Security\Policies\Policies 00001001 с 2 на 1
  2. Подключить телефон в режиме ActiveSync (Программа должна быть установленна и драйвера тоже)
  3. Делаем Дамп вот этой утилитой.
    Для этого запускаем в папке с утилитами файл Start.bat
    На телефоне выдаст сообщение о установке itsutils.dll, подтверждаем установку
    По окончанию процесса в папке появится файл Copy_A3100.bin, размер должен быть ~166Mb
    Это и есть полная копия прошивки без радио модуля, без бутлоадера и т.д.
    То есть операционная система (SYS), операторский софт и драйвера (OEM), ядро (XIP).
[close]

Теперь у нас есть дамп, нам нужно разобрать его на файлы и модули...
Разбор дампа на файлы и модули:
Spoiler:
  1. Копируем файл Copy_A3100.bin в папку с этой утилитой...
  2. Запускаем файл Dump.bat
  3. Ждем окончания процесса, в конце процесса в папке с утилитой появится папка dump
    Это и есть наш дамп в разобранном виде...
[close]

Теперь мы имеем разобранный на файлы и модули дамп, нам нужно разложить его на пакеты...
Раскладываем файлы и модули на пакеты:
Spoiler:
  1. Запускаем PKGTool.exe из этого архива...
  2. Открываем меню File > Open и указываем путь к папке dump
  3. Открываем меню Tools > Build Packages и ждем окончания процесса
  4. Теперь открываем нашу папку dump и видим две папки OEM и SYS
    Это и есть наш дамп прошивки разобранный на файлы и модули и разложенный на пакеты...
[close]


Создаем окружение для работы с прошивкой:
Spoiler:
  1. Качаем OsBuilder
  2. Создаем на диске С: папку к примеру MyMod (Можно создать и на любом другом диске, главное чтобы было меньше вложений)
    Я буду описывать процесс подготовки кухни исходя из этих путей...
  3. Копируем файлы OsBuilder.exe и OsBuilder.ini из архива в папку c:\MyMod\
  4. Создаем в папке MyMod следующие папки:
    • OEM - Для операторских приложений и драйверов
    • SYS - Операционная система
    • EXT - Для патчей и своих пакетов
    • ROM - Для XIP'а, шаблона и т.д.
    • Tools - Для утилит которые нам потом понадобятся, кстати утилиты которые мы использовали выше, тоже можно закинуть сюда...
    • OutPut - Сюда в процессе сборки будет сохранятся наша готовая прошивка...
    • Configurations - Папка для сохранения конфигурации сборки...
  5. Теперь папки OEM и SYS из папки DUMP, которые мы получили при работе с дампом переносим с перезаписью в наш проект c:\MyMod\
  6. Теперь файл копии нашей прошивки Copy_A3100.bin копируем в папку ROM нашего проекта и переименовываем в ROM.TPL
    Это будет шаблон для нашего проекта...
  7. Теперь запускаем OsBuilder.exe и смотрим что получилось...
  8. Видим окно программы разделенное на три части...
    • В первой части у нас будут пакеты которые мы включим в проект
      К этому ещё вернемся
    • Во второй части мы выдим все пакеты найденые в папке с проектом
    • В третьей части выводится разного рода информация
  9. Нажимаем на панели в программе кнопку Создать новую группу и создаем две группы с названиями OEM и SYS
  10. Теперь переносим все пакеты из среднего окна в одноименные группы...
  11. Отмечаем обе группы галочками
  12. Теперь сохраняем результат нашей кухни через кнопку Конфигурация пакетов > Сохранить как конфигурацию по умолчанию
    Вот в общем то первая часть кухни готова, здесь можно снять галочки с ненужных пакетов, какие пакеты нельзя убирать будет в продолжении мануала...
[close]


Заключительная часть создания окружения:
Spoiler:
  1. Качаем Tools.rar и распаковываем в папку с нашим проектом с перезаписью папки Tools
  2. Качаем Build.rar и копируем файл из архива в корень нашего проекта
  3. Качаем Flash.rar и копируем файл из архива в папку ROM
  4. Теперь после того как мы выбрали нужные пакеты (для первого теста выбираем все пакеты в нашей сборке) и нажимаем кнопку Сборка на панели OsBuilder'a
  5. После окончания сборки, сворачиваем программу и запускаем скрипт Build.cmd в корне нашего проекта
  6. Ждем окончания процесса и в конце открываем папку OutPut
  7. В ней должен появится файл A3100-ROM.hex, его мы можем прошивать и радоваться первой сборке своей прошивки
[close]


Список пакетов с описанием:
Spoiler:
    ADC - Автоматическая настройка передачи данных
    AdobeFlash - Adobe Flash
    AdobeFlashCodecs - Adobe Flash Видео кодек
    AlarmSounds – Звуки будильника…
    AUTOUPDATE – Авто обновления
    BaseApps - Компоненты ядра ОС
    BaseAppsFiles - Microsoft Camera + интеграция со службой поддержки Camera - заменяет BaseAppsModules
    BaseAppsModules - Microsoft Camera + интеграция со службой поддержки Camera – заменяет BaseAppsFiles
    Bluetooth - Поддержка Bluetooth (для Microsoft BT стека)
    bronze - Компоненты для Chome
    BronzeEA - Компоненты для Chome (Восточная Азия)
    BronzeNonEA - Компоненты для Chome (НЕ Восточная Азия)
    BROWSING - IE Компоненты.
    BROWSINGCORE - IE Компонеты скриптов сценариев.
    browsingie - IE Обнавленый интерфейс.
    BTDUN - Удаленный доступ к сети через Bluetooth.
    Bth_A2DP - Bluetooth A2DP
    Bth_HID - Bluetooth HID (Human Interface Device) Поддержка Bluetooth клавиатур.
    Bth_Watch – Поддержка часов от Sony Erricssion
    CHome – Titanium
    CommonEA - Общие настройки для Восточной Азии, заменяет CommonNonEA
    CommonNonEA – Общие настройки для НЕ Восточной Азии, заменяет CommonEA
    COMPLEXSCRIPT_FONTS - Системные шрифты для арабского, заменяет SYSTEM_DEFAULT_FONTS
    ConfettiCore – Поддержка аппаратного ускорения графики для 6.5 Chrome.
    DRM - Проверка сертификаций медиа контента
    Enterprise – Поддержка IPSec, l2TP и Winscard
    Entertainment – Игры.
    FWUPDATE – Поддержка ImageUpdate
    gb18030 - Поддержка шрифтов Восточной Азии
    GPSID – Промежуточный драйвер GPS, поддерживает несколько приложений, использующих один порт одновременно
    INTERNETSHARING - Обеспечивает NAT маршрутизатор для WWAN <-> USB / Bluetooth
    IPSECVPN – Поддержка IPSec VPN
    IRDA – Поддержка IR Port и не только…
    LangDB - wince.nls для языков (0404, 0411, 0412, 0804, WWE)
    Livesearch - Windows Live Search / Поиск Bing
    Lockscreen – Блокировка экрана WM6.5
    LockscreenEA – Компоненты блокировки экрана для Восточной Азии – заменяет LockscreenNonEA
    LockscreenNonEA - Компоненты блокировки экрана НЕ для Восточной Азии – заменяет LockscreenEA
    MediaOS - Windows Media Player - необходимо для поддержки MP3 рингтонов?
    MediaOSFiles - Windows Mobile Player Декодер DMO - заменяет MediaOSModules
    MediaOSModules - Windows Mobile Player Декодер DMO - заменяет MediaOSFiles
    Metadata - Реестра, информация о пакетах…
    MODEMLINK - Старый способ поддержки интернет обмена (DUN)
    MSIMAR – Поддержка Арабской клавиатуры
    MSTag - Microsoft Reader тегов
    NetCF - Microsoft .NET Compact Framework
    NonPhone – Компоненты для КПК
    Office - Microsoft Office Mobile
    OneNote - Microsoft OneNote Mobile
    OS - Компоненты ядра ОС
    OSFiles - Компоненты ядра ОС - заменяет OSModules
    OSModules - Компоненты ядра ОС - заменяет OSFiles
    Perf - Debug Monitor
    Perfbox - Debug Monitor
    Phone – Компоненты телефона, НЕ для КПК
    PhoneRedist - Компоненты телефона, НЕ для КПК
    ppgprov – Поддержка OMA Provisioning, НЕ для КПК
    Redist - ?
    RemoteDesktopMobile – Удаленный рабочий стол
    Riched20 – Поддержка Rich HTML редактора - заменяет Riched20_CS
    Riched20_CS - Поддержка Rich HTML редактора - заменяет Riched20
    RIL710MUX – Компоненты CellCore (По желанию) - Включает в себя mux07_10.dll, последовательный порт мультиплексора, осуществляется согласно 3GPP TS 07.10 версии 7.2.0 Выпуск 1998 года. Сейчас используется с радиомодулем Enfora через драйвер RIL.
    RingsAndAlerts – Звонки и оповещения
    RMGR – Роуминг менеджер (опционально)
    RUNTIMES - C Время автономной работы
    SipAR - Поддержка Арабской клавиатуры
    SampleMusic – Образцы музыки
    Shell - Компоненты ядра ОС
    SIM_TKit - SIM Tool Kit, исключены из CDMA версии
    Skybox - Microsoft MyPhone, синхронизирует информацию в телефоне и сервером в Microsoft
    Skymarket - WM торговой площадки еще нет - Просто ссылка
    SMIME – Поддержка шифрования
    SMS_Providers – Поддержка SMS
    SQLCE - SQL Server для CE
    SQM - Systems Quality Metrics
    SqlCeMobile – SqlCeMobile Необходим для некоторых программ
    SYSTEM_DEFAULT_FONTS - Системные шрифты НЕ для Арабского, заменяет COMPLEXSCRIPT_FONTS
    Themes – Допалнительные Темы оформления
    Transcriber - Transcriber – Не для всех языков
    UNISCRIBE - SIP Поддержка выбора не WWE языка – заменяет Transcriber
    VoiceCommand - Голосовые команды, для - (0407, 0409, 040C, 0809)
    VoIP - VoIP
    VoIPOS - VoIP
    Webview - IE RenderCore компонент для использования в ОС, WWE – заменяет Webview_CS
    Webview_CS IE RenderCore компонент для использования в ОС, Арабский - заменяет Webview
    WelcomeCenter - WM6.5 «Начиная работу» - Требуется для "Помощь"
    WindowsLive – Мобильный Windows Live
    WindowsLiveIM - Обмена мгновенными сообщениями Windows Live
    WMLiveSearchWidget - Виджет MS Live Search
    WMMoneyWidget - Виджет деньги MS
    WMWeatherWidget - Виджет погоды MS
    WMWidgets - Поддержка виджетов MS (необходим IE)
    WWAN – Поддержка WWAN
[close]


Изменение языка в прошивке:
Spoiler:
  • Для изменения языка нужно добавить в проект пакеты с языковыми настройками и приложениями.
    Делается это довольно просто, берём пакеты из прошивки (В Интернете есть все, можно найти) с нужным нам языком. Название пакетов должно быть следующим *_0804_*, тоесть в названии содержатся цифры, которые и указывают нужный нам язык
    Пример:
    • 0804 - Традиционный Китайский
    • 0404 - Китайский
    • 0419 - Русский
    • 0409 - Английский
  • Пакеты должны быть из того же билда, что и наша собираемая прошивка или как можно ближе к нашей прошивке.
    Пример:
    • У нас версия билда 20780
      Значит нам нужно найти языковые пакеты с таким же билдом, в крайнем случае версия должна быть как можно ближе, например от 20750 до 20800.
      Это конечно не так критично, можно и любые использовать, но могут различатся языковые ресурсы, а это чревато дополнительными багами.
      Когда я делал первый русификатор, я вообще использовал языковые файлы из WM6.5, но если помните было очень много багов и в итоге я постепенно перешел на файлы из WM6.1, в следствии чего практически избавил русификатор от багов...
  • После добавления в папку SYS пакетов с нужным нам языком, запустите OsBuilder и поменяйте язык на панели в открывающемся списке.
  • Теперь добавьте пакеты из среднего окна в левое окно нашего проекта, тоесть в группу SYS
  • Теперь нужно отметить добавленные пакеты галочкой, а с пакетов других языков убрать галочки...
  • D папке OEM есть папка OEM_Lang_*
    *- Цифра языка (пример 0804, 0404, 0409 или 0419)
    Эту папку нужно переименовать в ту которую надо (поменять цифру в названии для русского 0419)
    В нутри этой папки нужно поменять цифры у всех файлов где встречаются цифры языка на те которые надо...
    Так же в этой папке есть файл initflashfiles.dat, его нужно открыть простым блокнотом (или любым текстовым редактором, я пользуюсь Notepad ++) и поменять в нем пути для ярлыков и файлов на русские аналоги... Также можно переименовать ярлыки.
    Этот файл используется при первой загрузке после перепрошивки, а также после полного сброса системы...
  • Сохраните проект через меню, пробуйте собрать прошивку...
[close]

Пути для изменения в initflashfiles.dat:
Spoiler:

* Главное меню - \Windows\Главное меню
* Программы - \Windows\Главное меню\Программы
* Настройка - \Windows\Главное меню\Натройка (с версии 0.5 Параметры переименованы в Настройка)
* Стандартные - \Windows\Главное меню\Стандартные
* Игры - \Windows\Главное меню\Игры
* Связь - \Windows\Главное меню\Связь

Мои документы

* Мои документы - \My documents
* Моя музыка - \My documents\Моя музыка
* Мои мелодии - \My documents\Мои мелодии
* Мои рисунки - \My documents\Мои рисунки
* Мои видеозаписи - \My documents\Мои видеозаписи
* Шаблоны - \My documents\Шаблоны

Program files

* Стандартные - \Program Files\Стандартные
* Связь - \Program Files\Связь
* Игры - \Program Files\Игры

Другие

* Автозагрузка - \Windows\Автозагрузка
* Избранное - \Windows\Избранное
* Шрифты - \Windows\Шрифты
* Recent - \Windows\Recent
[close]

Готовая кухня с последней китайской прошивкой ТУТ
Распаковать на диск C и запустить OsBuilder
Если используете эту готовую кухню, то скрипт Build.cmd запускать не нужно...
Это происходит автоматически после сборки имиджа системы.
В сборке уже пропатченно ядро на установку приложений без сертификатов.

Также жду вопросы, связанные с модингом прошивок...


Продолжение ТУТ

Сообщение отредактировал noph8 - 17.5.2012, 6:43
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
@leks   [A3100] Основы создания прошивки   31.3.2010, 3:41
@leks   FlameNeon, как успехи в прошивкостроении?!?...   15.4.2010, 3:23
FLAME NEON   :cry: Невыходит пока не в какую вроде всё по пунк...   15.4.2010, 5:58
FLAME NEON   Наконец-то Собрал себе то, что хотел :clapping: У...   24.4.2010, 15:56
@leks   Наконец-то Собрал себе то, что хотел :clapping: ...   26.4.2010, 4:51
White_Bear   Наконец-то Собрал себе то, что хотел :clapping: ...   10.5.2010, 20:30
DK__   если кому надо 6.1 рус пишите выложу :grin: Ну...   26.4.2010, 18:03
White_Bear   Вопрос к гурам )) Собрал 6.1 русскую (с лэнгом по...   12.5.2010, 23:59
@leks   [spoiler] Вопрос к гурам )) Собрал 6.1 русскую (с...   18.5.2010, 8:36
White_Bear   спс огромное! ) @lex, а ты не мог бы выложить...   18.5.2010, 17:31
@leks   [spoiler] спс огромное! ) @lex, а ты не мог б...   24.5.2010, 4:54
White_Bear   Сэнкс )   24.5.2010, 7:58
DK__   Выложите пожалуйста какую-нибудь нормальную русску...   28.5.2010, 0:17
@leks   Выложите пожалуйста какую-нибудь нормальную русск...   28.5.2010, 3:24
DK__   Имею ввиду 6.1. Она для меня роднее, т.к. до этого...   28.5.2010, 12:58
@leks   Имею ввиду [b]6.1. Она для меня роднее, т.к. до э...   28.5.2010, 13:30
DK__   @leks, спасибо большое :). Пока погоняю англ. Пожа...   28.5.2010, 13:38
@leks   [b]@leks, спасибо большое :). Пока погоняю англ. ...   10.6.2010, 8:44
FLAME NEON   Cори совсем давно не заходил - вот проша Letitbit....   8.6.2010, 11:10
White_Bear   Cори совсем давно не заходил - вот проша [color=#...   27.6.2010, 15:58
tellurians   [spoiler] Чёт какая-то фигня у меня с летитбитом. ...   28.6.2010, 8:36
White_Bear   лови http://depositfiles.com/files/jhbymlu4s http...   28.6.2010, 15:27
@leks   Вот мотороловская клава с русским...   17.6.2010, 15:07
tellurians   Вот мотороловская клава с русским... Спасибо бо...   18.6.2010, 5:31
winnitsa   @лекс Обнови будь добр ссылки на проги из первого...   19.9.2010, 16:59
@leks   @лекс Обнови будь добр ссылки на проги из первог...   20.9.2010, 3:59
winnitsa   Спасибо огромное, жду... Собираю немецкую прошив...   20.9.2010, 8:25
@leks   [spoiler] Спасибо огромное, жду... [b]Собираю не...   20.9.2010, 8:37
winnitsa   ОК, супер. Немецкий 0407. Но они сильно отличаются...   20.9.2010, 9:36
@leks   ОК, супер. Немецкий 0407. Но они сильно отличаютс...   20.9.2010, 11:14
winnitsa   WM6.1 с твоей кухней получился, за исключением пар...   22.9.2010, 22:01
@leks   WM6.1 с твоей кухней получился, за исключением па...   23.9.2010, 3:44
noph8   Скорее всего разобрать можно только официальные п...   23.9.2010, 2:01
winnitsa   Благодарю @лекс ещё раз! Всё получилось, ВМ6.5...   23.9.2010, 19:34
@leks   Благодарю @лекс ещё раз! Всё получилось, ВМ6....   24.9.2010, 3:25
Kiri11   Товарищи, перезалейте прошивку MB60_WM61_RUS_Fneon...   9.10.2010, 20:40
@leks   Товарищи, перезалейте прошивку MB60_WM61_RUS_Fneo...   11.10.2010, 3:13
-MOTOR-   @leks, возникла проблема,я не нашел в твоей кухне ...   12.1.2011, 17:34
@leks   [b]@leks, возникла проблема,я не нашел в твоей ку...   14.1.2011, 6:21
-MOTOR-   [b]@leks, возникла проблема,я не нашел в твоей к...   14.1.2011, 11:33
@leks   [quote name='@leks' post='1563834' date='14.1.201...   19.1.2011, 10:41
-MOTOR-   [quote name='-MOTOR-' post='1563900' da...   20.1.2011, 9:51
@leks   [quote name='-MOTOR-' post='1563900' d...   12.9.2011, 10:25
-MOTOR-   @leks, гут! а то я зимой пытался что-то сотвор...   12.9.2011, 19:25
@leks   @leks, гут! а то я зимой пытался что-то сотво...   13.9.2011, 3:52
noph8   @leks, ну, как будет время и интернет - заливай к...   13.9.2011, 5:12
@leks   @leks, ну, как будет время и интернет - заливай ...   13.9.2011, 10:41
tellurians   А тут смотрели прошивки: http://forum.xda-develope...   13.9.2011, 6:48
-MOTOR-   @leks, ну че там? Выложишь ты кухни али нет? А то ...   24.9.2011, 8:24
@leks   @leks, ну че там? Выложишь ты кухни али нет? А то...   26.9.2011, 8:31
@leks   Пусть немного долго, но наконец то я смог выгрузит...   27.4.2012, 4:03
ws_MeGa   Я.Народ WM_6.5.3 WM_6.1   27.4.2012, 6:11
noph8   Также кухни для А3100 теперь можно скачать у нас н...   28.4.2012, 7:27
Kiri11   В архиве с кухней для 6.1 лежит только OSbuilder. ...   16.5.2012, 21:59
noph8   Kiri11, вы собираетесь создавать кухню на основе ...   17.5.2012, 6:43
Kiri11   Kiri11, вы собираетесь создавать кухню на основе...   17.5.2012, 8:54
noph8   Меня смущает A3100-ROMEng.hex в папке с кухней :)...   17.5.2012, 20:50
Kiri11   Меня смущает A3100-ROMEng.hex в папке с кухней :...   21.5.2012, 11:55
Marsell3344   как отредактировать уже готовую прошивку? В частно...   9.3.2013, 0:13

[A3100] Основы создания прошивки, Курс молодого бойца · Motorola на Windows Mobile OS: MPx100, MPx200, MPx220, MPx300, Q, Q8, Q9c, Q9h, Q9m, Q11, SURF A3x00, ES400 · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.4.2024, 3:22

Форум живёт: