Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форумы PDA2U.RU _ Создание прошивок _ Портирование XIP под Dell Axim x51v

Автор: AximX51v 27.4.2008, 10:18

Начал портировать новый хип (источник кухня для Гермеса ОС5.2.19209) под Dell Axim x51v, но ничего кроме незагружающейся машинки не получил. sad.gif
Может я что-то не так делал?
Действовал в следующем порядке:
1. вытащил програмкой http://4pda.ru/forum/uploads/img-83287-XIPTools.rar хип2 из своей прошивки;
2. сдампил хип2 и хип-донор в ROMMaster;
3. с помощью XIPPort'а выявил аппаратозависимые модули/файлы и положил их в донор, взамен гермесовских;
4. собрал новый хип с помощью Buildxip.
5. для проверки разобрал ранее полученный хип в XIPPort и построил карты. Увидел множественные пересечения в map.txt и map.physical.txt. После выполнения остались пересечения у первых регионов модулей nk.exe и giisr.dll.

Код
8c4fd000 - 8c4fd000 L00000000 Start: start of RAM
8c4fd000 - 8c540000 L00043000 initialized data of region_2 nk.exe
8c540000 - 8c546000 L00006000 NUL
8c546000 - 8c54a000 L00004000 initialized data of region_1 osaxst0.dll
8c54a000 - 8c54b000 L00001000 initialized data of region_1 hd.dll
8c54b000 - 8c550000 L00005000 NUL
8c550000 - 8c551000 L00001000 initialized data of region_1 giisr.dll
8c550000 - 8c551000 L00001000 !!!!!!!!!!!!!!!!!!
8c550000 - 8c556000 L00006000 uninitialized data of region_1 nk.exe
8c551000 - 8c556000 L00005000 !!!!!!!!!!!!!!!!!!
8c551000 - 8c551000 L00000000 ------ start of RAM free space
8c551000 - 8ff00000 L039af000 NUL
8ff00000 - 8ff00000 L00000000 End: end of RAM


Подвигал nk по http://forum.pda2u.ru/forum/index.php?showtopic=36, описанной ArHon'ом.
Пересечения исчезли.
CODE
8c4fd000 - 8c4fd000 L00000000 Start: start of RAM
8c4fd000 - 8c540000 L00043000 initialized data of region_2 nk.exe
8c540000 - 8c546000 L00006000 NUL
8c546000 - 8c54a000 L00004000 initialized data of region_1 osaxst0.dll
8c54a000 - 8c54b000 L00001000 initialized data of region_1 hd.dll
8c54b000 - 8c550000 L00005000 NUL
8c550000 - 8c551000 L00001000 initialized data of region_1 giisr.dll
8c551000 - 8c551000 L00000000 ------ start of RAM free space
8c551000 - 8ff00000 L039af000 NUL
8ff00000 - 8ff00000 L00000000 End: end of RAM


6. собрал подправленный хип и вставил его в прошу программой XIPTools. После перепрошивки машинка даже не включилась.

з.ы. при портировании хип, если в проше 2 хипа, нужно обновлять оба хипа? huh.gif

Автор: ArHon 27.4.2008, 10:41

AximX51v, согласно методике надо перемещать все модули, которые ты перенес, а не только nk. Насчет 2-х хипов - это вполне вероятно, но я не проверял, ибо не на чем.

Автор: AximX51v 27.4.2008, 11:09

Цитата(ArHon @ 27.4.2008, 11:41) *
AximX51v, согласно методике надо перемещать все модули, которые ты перенес, а не только nk.

Завтра попробую вручную подвигать модули
Но некоторые модули отличаются.
AximOEM:
aximFsdspy.dll
CECOMPR.DLL
CEDDK.DLL
GIISR.DLL
NK.EXE
TrueFFS.dll

HermesOEM:
CECOMPR.DLL
CEDDK.DLL
FLASHDRV.DLL
htcfsfilter.dll
MMMAP.DLL

NK.EXE
WCE_REX.DLL

а как быть с ними?

Автор: XakDL 27.4.2008, 13:43

AximX51v, вопрос у тебя есть прошивка родная WM5 от твоей модели??? И есть ли у тебя прошивка WM6 для неё русская и рабочая??? Если есть выложи пожалуста....

Автор: AximX51v 27.4.2008, 14:36

Цитата(XakDL @ 27.4.2008, 14:43) *
AximX51v, вопрос у тебя есть прошивка родная WM5 от твоей модели??? И есть ли у тебя прошивка WM6 для неё русская и рабочая??? Если есть выложи пожалуста....

http://stream.ifolder.ru/3087415 -родная вм5 в формате nb0 для шитья с карточки
Рабочая вм6 есть английская (в шапке темы по сслке ниже), русская вот
http://4pda.ru/forum/index.php?skinid=2&showtopic=51979&st=300#entry1049429 но там пара глюков есть

Автор: ArHon 27.4.2008, 17:32

AximX51v, при портировании хипа с другого устройства может случиться так, что различия будут слишком велики и портировать будет весьма трудно. У меня нет опыта корректного портирования с другого устройства (даже весьма близкого, а уж сильно оличающегося и подавно), можно поробовать выдрать хип из работающей прошвки (WM6 же вроде английская есть?), а играть уже составом самой винды, меняя модули на те, которые хочешь

Автор: AximX51v 28.4.2008, 8:09

ArHon



ВМ6.1 для Делла есть, но она версией 19199, хотелось бы сделать свою прошу, да и нехочется что называется выезжать на всем готовом. sad.gif Если брать хип с похожим составом? Роверовский подойдет?

Автор: BigMike 28.4.2008, 9:09

Цитата
ВМ6.1 для Делла есть, но она версией 19199

Ну и возьми его за основу.

Автор: AximX51v 28.4.2008, 15:07

Цитата(BigMike @ 28.4.2008, 10:09) *
Ну и возьми его за основу.

Собственно на ее основе и пытаюсь сделать новую прошу, только немогу понять в чем причина того что машинка отказывается работать с новым хип, ведь buildxip, если неошибаюсь, должен при необходимости автоматически исправлять адреса модулей. После правки адресов модулей описанных в шапке - пересечений больше нигде не наблюдал.

Автор: BigMike 28.4.2008, 15:43

Цитата
ведь buildxip, если неошибаюсь, должен при необходимости автоматически исправлять адреса модулей

Нет, не должен. Все надо делать самому.
hd.dll и osaxstxxxxx.dll удалил? Адрес rom_header правил?
Цитата
с помощью XIPPort'а выявил аппаратозависимые модули/файлы и положил их в донор, взамен гермесовских

Лучше бы ты наоборот сделал - файлы оси кинул в гермесовскую прошивку. Втом числе и из-за
Цитата
при портировании хип, если в проше 2 хипа, нужно обновлять оба хипа?

Если ты использовал прошивку-донор за основу (переносил в нее устройство-зависимые файлы) - то обязательно! Потому что там тоже сидит тот самый nk.exe

Автор: AximX51v 29.4.2008, 9:07

Цитата(BigMike @ 28.4.2008, 16:43) *
Нет, не должен. Все надо делать самому.
hd.dll и osaxstxxxxx.dll удалил? Адрес rom_header правил?

модули hd.dll и osaxstxxxxx.dll потер.
Насчет правки rom_header: застрял на пункте 7
байты 050052Е3 в s000 попадаются в пяти местах под какими именно нужно править ключевой байт?
значения rom_00 взятое из map.txt "переворачивал" согласно методичке, т.е. переставил байты с конца в начало. в s000 его не обнаружил.

Автор: BigMike 29.4.2008, 9:37

Цитата
значения rom_00 взятое из map.txt "переворачивал" согласно методичке, т.е. переставил байты с конца в начало. в s000 его не обнаружил

Дык, правильно - у тебя же map.txt от Гермеса, а S000 для делла smile.gif
Чтобы найти в делловском S000 нужные байты - надо их брать из map.txt того XIP, откуда и этот S000.
Ты это - лучше портируй ось в XIP делла, проще будет wink.gif Портировать устройство-зависимые файлы легко только если прошивки от очень близких девайсов (как, например, RoverPC G5 и Atom Exec). В остальных случаях рискуешь получить гемор еще тот smile.gif

Автор: AximX51v 29.4.2008, 10:52

Цитата(BigMike @ 29.4.2008, 10:37) *
Ты это - лучше портируй ось в XIP делла, проще будет wink.gif Портировать устройство-зависимые файлы легко только если прошивки от очень близких девайсов (как, например, RoverPC G5 и Atom Exec). В остальных случаях рискуешь получить гемор еще тот smile.gif

Значения physfirst нужно брать от деловского romhdr.txt? они с гермесовским отличаются.

а можно где-нить скачать бинарник хипа от ровера например? прошу нет возможности качнуть, с гпрс сижу sad.gif

Автор: BigMike 29.4.2008, 10:59

Цитата(AximX51v @ 29.4.2008, 11:52) *
Значения physfirst нужно брать от деловского romhdr.txt? они с гермесовским отличаются.

Попробуй рассуждать логически. Тебе нужно найти, где в nk.exe прописыается этот адрес. Это можно сделать, найдя заранее известный адрес в шестнадцатеричном коде. Так вот в nk.exe будет прописан адрес той прошивки, от которой и был взять этот nk.exe. Соответственно, какой файл надо смотреть, чтобы найти адрес, который затем нужно будет искать в nk.exe?
Цитата
а можно где-нить скачать бинарник хипа от ровера например? прошу нет возможности качнуть, с гпрс сижу sad.gif

Какой бинарник? xip.bin?

Автор: AximX51v 29.4.2008, 11:22

Цитата(BigMike @ 29.4.2008, 11:59) *
Попробуй рассуждать логически. Тебе нужно найти, где в nk.exe прописыается этот адрес. Это можно сделать, найдя заранее известный адрес в шестнадцатеричном коде. Так вот в nk.exe будет прописан адрес той прошивки, от которой и был взять этот nk.exe. Соответственно, какой файл надо смотреть, чтобы найти адрес, который затем нужно будет искать в nk.exe?

делловский
Цитата
Какой бинарник? xip.bin?

да

Автор: BigMike 29.4.2008, 12:06

Цитата
делловский

Ну, а ты какой искал?
Цитата
да

Так ты же http://forum.pda2u.ru/forum/index.php?showtopic=36 читал - там несколько разных XIP выложено (в том числе и мною лично). Чем не устраивают?

Автор: AximX51v 29.4.2008, 17:57

BigMike,
нашел хип от Атома, разложил все по папкам как указано в методичке,
забил в M'Relock_NK значение e32_vbase, но когда забиваю посчитанный realaddr, кнопка DoIt остается неактивной - может я что-то не так делаю? huh.gif
ХипПорт(3-й скачанный http://forum.pda2u.ru/forum/index.php?showtopic=36) при создании карт сваливается, он карты должен рисовать в любом случае?

Автор: BigMike 29.4.2008, 19:15

Цитата
он карты должен рисовать в любом случае?

Для разобранного на пакеты XIP карты не строятся - только когда все "в кучу".

Автор: AximX51v 29.4.2008, 19:34

Цитата(BigMike @ 29.4.2008, 20:15) *
Для разобранного на пакеты XIP карты не строятся - только когда все "в кучу".

тот для которого хочу карты построить как раз не разобран на пакеты smile.gif

подвигал модули
Код
cecompr.dll
   e32_vbase:           V=03E39000
   o32[2].o32_realaddr: D=01FE1000 - 00001000 = 01FE1000

ceddk.dll
   e32_vbase:           V=03DE7000
   o32[1].o32_realaddr: D=01FD1000 - 00001000 = 01FD0000

TrueFFS.dll
   e32_vbase:           V=03DED000
   o32[1].o32_realaddr: D=01FD2000 - 00001000 = 01FD1000

проблема с TrueFFS возникла sad.gif
посчитал значение o32_realaddr, записал в м.релок, выданное м.релоком в результате C:\Dell\XIP\OUT\MODULES\TrueFFS.dll\imageinfo.txt не сходятся с теми что были в C:\Dell\XIP\NEW_XIP_COPY\OUT_pkgs\MODULES\OEMXIPKERNEL\trueffs.dll\imageinfo.txt
http://img212.imageshack.us/img212/8661/trueffsyb2.png
с другими модулями все гладко прошло blink.gif

Русская версия Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)