![]() |
|
![]() |
![]()
Сообщение
#41
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: раз(а) ![]() |
Огромное спасибо AGC за его труд, но я все-таки думаю, что портирование устройство-зависимых файлов правильнее, чем наоборот. Так что выкладываю свой вариант мануала по портированию. Подчеркиваю, что нашел всю информацию и собрал все в кучу AGC, за что ему хвала и благодарность! (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif)
Итак: 1. Распаковываем родной XIP WM5 с картами (далее XIP_OLD) 2. Распаковываем XIP WM6 с картами (далее XIP_NEW), копируем его отдельно и создаем пакеты - make pkgs (далее XIP_NEW_COPY) 3. Смотрим состав папки XIP_NEW_COPY\Out\Files\OemXipKernel и копируем с заменой такие же файлы из XIP_OLD\Out\Files в XIP_NEW\Out\Files Если язык родной WM5 прошивки и прошивки WM6 не совпадают, то делаем слудующее: среди них будет boot.rgu - в нем находим ключи, отвечающие за MUI и изменяем их в соответствии с языком прошивки WM6: Код [HKEY_LOCAL_MACHINE\MUI] "Enable"=dword:1 [HKEY_LOCAL_MACHINE\MUI] "SysLang"=dword:409 [HKEY_CURRENT_USER\MUI] "CurLang"=dword:409 в файле boot.hv WinHex'ом находим unicode строку MUI и изменяем соответствующие параметры тоже (см. рис.1) 4. Смотрим состав папки XIP_NEW_COPY\Out\Modules\OemXipKernel и копируем с заменой такие же файлы из XIP_OLD\Out\Modules в XIP_NEW\Out\Modules скорее всего, состав файлов будет следующим: Код cecompr.dll\ ceddk.dll\ giisr.dll\ nk.exe\ stratad_intel_l.dll\ trueffs.dll\ cecompr.dll.txt ceddk.dll.txt giisr.dll.txt nk.exe.txt stratad_intel_l.dll.txt trueffs.dll.txt 5. Теперь нам понадобится утилита M'Reloc_nk. Для начала рассмотрим модули cecompr.dll, ceddk.dll, stratad_intel_l.dll, trueffs.dll, с ними попроще, рассмотрим на примере trueffs.dll: 5.1. Натравливаем M'Reloc_nk на модуль XIP_NEW\Out\Modules\TrueFFS.dll 6. Теперь рассмотрим модули giisr.dll и nk.exe - адресация там не прямая, а косвенная, возьмем к примеру giisr.dll: 6.1. Натравливаем M'Reloc_nk на модуль XIP_NEW\Out\Modules\giisr.dll 7. Теперь мы подошли к следующему этапу - правке nk.exe: 7.1. Открываем файл XIP_NEW\Out\Modules\nk.exe\S000 в WinHex, ищем байты 050052E3 (рис.10). Прямо под найденными байтами видим ключевой байт (выделен красным) - его-то и меняем на 02. Сохраняем. 8. Все! Теперь делаем build xip_out.bin - хип готов, осталось вставить его на место в прошивку! P.S. Мануал писался при портировании хипа для ровера, прикладываю его - надо проверить. |
![]() |
|
![]() |
![]()
Сообщение
#42
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
AGC, я так подозреваю, что все дело в nk.exe, а вот тут-то разница 6815 и ровера значительна, у ровера к тому же есть дополнительная картинка с трубками. Я почти уверен, что при нажатии ресета, именно nk.exe обрабатывает нажатые клавиши и уже сам отправляет либо в хард ресет (той же функцией KernelIOControl, к примеру), или просто в ресет, или в бутлоадер, где уже производится проверка нажатия софт-клавиш (именно поэтому приходится долго их держать). А вот почему он на них не реагирует - загадка та еще (IMG:http://forum.pda2u.ru/style_emoticons/default/sad.gif) Кстати, ты на роверовской проше нажимал именно трубки для хард ресета? Т.е. клавиши в ядре нормально замапены? Не поменялись с софткеями? Начну с конца. Да, трубки - все Ок. Правда я из ровероской прошивки дернул pxa....keyboard.dll. Но она тут вроде особо совсем не причем. По остальному. Все верно, за исключением нюансов. Я сейчас попробую найти презентацию по работе CE 4.2. Там есть картинка с очень доходчивой иллюстрацией. Если не получится, кину просто картинку. Суть в том, что там идет спошной футбол между nk.exe и coredll.dll (ну и их сотилитами). Мое предстваление о ситуации сейчас следующее: 1. НЕЧТО похватывает комбинацию хард-ресета Питание + Ресет и шлет ее на обработку в nk.exe (скорее всего, это coredll.dll или ее смежники) 2. Наш nk.exe ловит совсем другую комбинацию, поэтому делает просто софт-ресет. Выход - исправить это либо там, либо там. Проще видимо в нашем nk.exe. P.S. Что касается дополнительной картинки с трубками. Различие в размерах там в полкилабайта... Скорее всего, просто в нашем nk.exe это ... назовем так ... "забыли". Впрочем, спорить тут особо не о чем (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Завтра, если смогу, дизассемблирую и сравню. Думается, все же больше правды в "идентичности" этих прошивок. Уж больно там много похожего... |
![]() |
|
![]()
Сообщение
#43
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: раз(а) ![]() |
ВСЕ! Решение с хард ресетом найдено! (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif)
P.S. Правда теперь ХР будет делаться питание+ресет без дополнительных вопросов |
![]() |
|
![]()
Сообщение
#44
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
ВСЕ! Решение с хард ресетом найдено! (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) P.S. Правда теперь ХР будет делаться питание+ресет без дополнительных вопросов Ура! Молодец, здорово! (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) А как? |
![]() |
|
![]()
Сообщение
#45
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
Господа, утилитку M'reloc_nk выложите, плиз?
И вообще, если чем-то из софта пользуетесь - не забывайте делиться (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) |
![]() |
|
![]()
Сообщение
#46
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Господа, утилитку M'reloc_nk выложите, плиз? И вообще, если чем-то из софта пользуетесь - не забывайте делиться (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Так я вроде давал ссылку на первоисточник (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Там новые версии вроде появляются. Прикладываю ту, которой пользуюсь...
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#47
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: раз(а) ![]() |
AGC, я описал технологию в скрытом разделе
|
![]() |
|
![]()
Сообщение
#48
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
AGC, я описал технологию в скрытом разделе Огромное спасибо! Нашел. Пойду тоже копаться в коде ровера на предмет инициализации экрана и смотреть, что там с камерой (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) ... Вот, по поводу архитектуры и ассемблера нашел информацию. PS инфа уехала в другой топик - читать тут Сообщение отредактировал BigMike - 9.1.2008, 13:27 |
![]() |
|
![]()
Сообщение
#49
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
И по повду дизассемблирования тоже не мешало бы "раскрыть тему" (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Чем дизассемблировали, как обратно собирать и т.п. ЗЫ ответ AGC уехал в топик про программирование |
![]() |
|
![]()
Сообщение
#50
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: раз(а) ![]() |
BigMike, сам файл nk.exe я вытащил sDuper'ом и натравил на него IDA Pro Advanced с установленным плагином для Pocket PC девайсов, ассемблера нет, поэтому пришлось ручками искать нужные коды и исправлять в WinHex'e. IDA, к сожалению, лишь дизассеблер
|
![]() |
|
![]()
Сообщение
#51
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
Вот, по поводу архитектуры и ассемблера нашел информацию. Может какой отдельный раздел создать по архитектуре CE и программированию под ARMы? (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Может, для начала ограничиться темой? Тему щас сделаю - наполнение за тобой, я в этом ламер (IMG:http://forum.pda2u.ru/style_emoticons/default/wink.gif) |
![]() |
|
![]()
Сообщение
#52
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Может, для начала ограничиться темой? Тему щас сделаю - наполнение за тобой, я в этом ламер (IMG:http://forum.pda2u.ru/style_emoticons/default/wink.gif) Отлично! Спасибо. Положил туда еще и саму IDA Pro. P.S. Я, к сожалению, до покупки коммуникатора тоже раньше с этими архитектурами ОС и процессоров никогда не работал. Так что на эксперта тяну с большущим трудом (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) Впрочем, ассемблер он и есть ассемблер, читаю очередной монументальный труд... Но вся основная надежда, конечно, на ArHon-а... (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) |
![]() |
|
![]()
Сообщение
#53
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Вот. На xda-developers появилась инструкция по портированию новой версии ОС: XIP and SYS Porting Tutorial. Правда, на мой взгляд, частичная...
|
![]() |
|
![]()
Сообщение
#54
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
Цитата инструкция по портированию новой версии ОС Этот рецепт только для обновления сборки ОС применим. При переходе на другой язык или с 5-й на 6-ю он уже вряд ли прокатит. |
![]() |
|
![]()
Сообщение
#55
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Этот рецепт только для обновления сборки ОС применим. При переходе на другой язык или с 5-й на 6-ю он уже вряд ли прокатит. Так я именно это и написал (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Причем инструкция там даже "очень частичная", но автор грозился продолжением. Хотя, лично я не жду оттуда чего то выдающегося... Но кто знает, вдруг потом допишут... В том смысле, что будет именно полная общедоступная инструкция. А так... Ну другой язык - это отдельный разговор (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) В принципе, тут как раз вроде сложностей особых нет, если есть нужные файлики MUI, я же описывал в ветке по русификации полный механизм... В смысле, XIP тут вообще не важен... А вот инструкции по переходу с 5-й на 6-ю WM не видел в принципе, только частичные отчеты о прогрессе и заявления о результате... Частный случай для наших устройств описан здесь же на предыдущих страницах. Причем это, пожалуй, самое полное и подробное описание из тех, с которыми я сталкивался (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) А общий случай не особенно то и отличается, только как раз "частностями". Меня тут сильно заинтересовала сейчас вторая часть "правильной" релокации - на уровне модулей ОС. Но это, наверное, отдельная ветка будет, т.к. пока ряд нюансов не очень ясен, разбираюсь пока сам... |
![]() |
|
![]()
Сообщение
#56
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
Цитата А так... Ну другой язык - это отдельный разговор В принципе, тут как раз вроде сложностей особых нет, если есть нужные файлики MUI, я же описывал в ветке по русификации полный механизм... В смысле, XIP тут вообще не важен... Ой ли? Я когда общался с k0ster'ом на 4pda - он мне объяснял русификацию как раз через портирование системных модулей в XIP и imgfs. Цитата А вот инструкции по переходу с 5-й на 6-ю WM не видел в принципе, только частичные отчеты о прогрессе и заявления о результате... Знаю - сам в свое время искал. Абсолютно все, что нашел, выложил в этой ветке. Немного получилось (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) |
![]() |
|
![]()
Сообщение
#57
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Ой ли? Я когда общался с k0ster'ом на 4pda - он мне объяснял русификацию как раз через портирование системных модулей в XIP и imgfs. Ну...у, не знаю - "ну так работает же" (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Если более подробно, то язык в XIP (ядре ОС) абсолютно безразличен. Свою русскую прошивку в пример не привожу, аналогичные решения применены в русской прошивке HTC Wizard 6.1 от ремембера и WWE прошивке TRED Touch RC3. В первой как и у меня стоит 0409 в ядре, во второй - 0804 в ядре. В самой ОС у первой естественно 0419, во второй 0409. Все работает, конечно. То есть язык устанавливается в реестре основной части ОС (IMGFS). В ядре ОС это было бы наверное критично, если выводить надписи на этапе загрузки на соответствующем языке, но они все на английском, поэтому без разницы. MUI на ядро накладывается потом поверх уже в самой ОС (и в основном через интерфейсы, в смысле другие библитеки обрабатывают и уже на них накладывается MUI). Кстати, в прототипе русской сборки для G5 я воткнул аппаратное ядро Ровера с 0419, но что еще интереснее, в WM5 от него была куча файлов MUI от других языков. То есть он мог работать на разных языках, но в ядре все равно бы осталось 0419... С другой стороны, тут нужно еще просто уточнить термин XIP. Может речь шла не совсем о ядре? XIP (eXecute In Place) - это принцип исполнения в вольном переводе "где лежу, там и пашу" (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) По нему работает не только ядро (собственно, из-за этого и нужен "правильный" релок ядра), но и многие модули ОС... Фух... (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) В общем, для русификации минимум нужен MUI языка + правка реестра + несколько системных библиотек под язык (либо патчить ручками скины и проверки на 0419 для русского, либо позаимствовать с других устройств, например, минимум - библиотеки клавиатуры). По доброму, нужно патчить многие библиотеки под язык (как оказалось, опять же например, правка в реестре установок названия "My Documents" на русское "Мои документы" проблемы не решает, т.к. в куче модулей зашито именно "My Documents"). Ну и т.д. (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) |
![]() |
|
![]()
Сообщение
#58
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
Мы с ним говорили не про перевод через MUI, а про перевод через портирование системы с русской WM6 для другого устройства.
k0ster говорил, что одной заменой SYS в imgfs не отделаешься - придется портировать и XIP. Сейчас пытаюсь пересобрать WM6 для ровера с заменой SYS (и в xip, и в imgfs) на одну из русских сборок для Профета. Посмотрим, что получится (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Кстати, мануал у вас с ArHon получился отличный - по нему сейчас и делаю. (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) |
![]() |
|
![]()
Сообщение
#59
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Мы с ним говорили не про перевод через MUI, а про перевод через портирование системы с русской WM6 для другого устройства. k0ster говорил, что одной заменой SYS в imgfs не отделаешься - придется портировать и XIP. Теперь понял, о чем шла речь (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Все правильно. Только это вообще общий случай портирования ОС с другой прошивки, тут даже не важно, какой язык. Действительно, в общем случае нужно тащить и ядро, т.к. на него завязана ОС (coredll.dll и другие части). Кстати, сейчас тоже вожусь с этим, только хочу утащить всю прошивку Rover G6... P.S. На всякий случай, как дополнение к нашему варианту будущей инструкции по полному портированию ОС (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Если будешь тащить с пропета SYS в IMGFS, там теоретически нужно еще сделать релок (например, G'Reloc-ом или помодульно), только в SYS перед этим стоит заменить .ROM и .VM с наших прошивок (или посмотреть на них правильные значения параметров релока)... |
![]() |
|
![]()
Сообщение
#60
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
Цитата Если будешь тащить с пропета SYS в IMGFS, там теоретически нужно еще сделать релок (например, G'Reloc-ом или помодульно), только в SYS перед этим стоит заменить .ROM и .VM с наших прошивок (или посмотреть на них правильные значения параметров релока)... Помню конечно (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) |
![]() |
|
![]()
Сообщение
#61
|
|
![]() MASTER ![]() Группа: Разработчики Сообщений: 9 Регистрация: 26.2.2008 Пользователь №: 573 Спасибо сказали: 2 раз(а) ![]() |
BigMike
Цитата Мы с ним говорили не про перевод через MUI, а про перевод через портирование системы с русской WM6 для другого устройства. k0ster говорил, что одной заменой SYS в imgfs не отделаешься - придется портировать и XIP. Сейчас пытаюсь пересобрать WM6 для ровера с заменой SYS (и в xip, и в imgfs) на одну из русских сборок для Профета. Посмотрим, что получится Кстати, мануал у вас с ArHon получился отличный - по нему сейчас и делаю. Не совсем так. Для руссификации не нужно манипулировать XIP-секцией. Нужно после сборки системы удостовериться, что все значения в реестре касающиеся MUI и кодовых страниц имели верные значания. Ну и естественно клавиатуру поставить от русской прошивки, а английскую выбросить. Портировать XIP нужно было чтоб заиметь работающее ядро, т.к. на момент нашего разговора wm6 для ровера не было. А при рабочем xip сделать полноценныю русскую систему для любого девайса - дело 15-ти минут при неполной доводке. (здесь основную сложность представляют OEM-приложения, которые надо переводить) |
![]() |
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 7.4.2025, 20:07 |