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

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

Форумы PDA2U.RU _ Создание прошивок _ Новый релок 6.1/6.5

Автор: Yad 22.9.2009, 13:35

Добрый день, уважаемые!

Выношу на ваш суд новый релок smile.gif

Релиз!

http://asusmobile.ru/board/download.php?id=14765
http://asusmobile.ru/board/download.php?id=14766

Код
###################################################################
#                                                                                                                                  #
# "EXTReloc" предназначен для последовательного размещения модулей в памяти WM6.1/6.5.  #
#                                                                                                                                  #
###################################################################
1.Основные особенности и отличия от других программ:

1.1 G'Reloc, не работает с нативным ядром 6.5, также некорректно обрабатывает flag "L"
   модуля. Такой модуль должен полностью находиться в слоте 0, без выделения RW-секций
   (я не могу это утверждать с абсолютной уверенностью, но на моей прошивке так было...)
1.2 WMreloc2 работает несколько некорректно с переходами  между слотами,
    особенно между 60м и 61м. Так же не работает с флагом "L".  
1.3 Пересоздаются также файлы imageinfo.txt(удобно смотреть)
1.4 Встроенный "Маппер" - можно смотреть карту любой прошивки
1.5 Наглядно показывается и редактируется содержимое папок .VM и .ROM
    (различные границы)
1.6 Работа с XIP

****************************** ВАЖНО!!! **********************************************

    Для работы утилиты ОБЯЗАТЕЛЬНО нужны файлы *.dsm. Я не проверял как она будет
    работать с одним *.dsm. Потому в кухне вставляйте EXTReloc либо до сборки всех *.dsm
    в один(предпочтительный вариант), либо вообще до BuildOS(но тогда пакеты удаляйте
    сами, не используя "options.xml")

********************************************************************************
******

2.Основные возможности данной программы:

2.1 EXTReloc позволяет релочить кроме IMGFS-модулей, модули XIP.
    Причем есть возможность релока NK.EXE,GIISR.DLL и подобных модулей, которые
    находятся в RAM. Работа с XIP  может скрываться - потянуть белый разделитель влево,
    тогда откроется работа с IMGFS. Чтобы вернуть обратно - щелкните по разделителю...
2.2 Модули IMGFS релочаться в той последовательности, которая есть в packages.cif
    (проверял на своей офф. прошивке, там все модули располагаются в последовательности
     указанной в  packages.cif),  но опция отключаемая(см. "Options")
2.3 Флаг "L" содержится в *.dsm и указывает, что модуль должен находиться полностью
    в слоте 0,  без выделения RW-секций. Но опция так же отключаемая...
    Существует проверка:
     Если в *.dsm модуля есть флаг "L", но его e32_Vbase находится не в 0м слоте,
     то программа выдаст запрос - что делать с таким(такими) модулями -
     переносить их в 0й слот или нет. Если же и флаг "L" и Vbase в 0м слоте, то
      такой модуль однозначно попадет полностью в 0й слот !!!
     (если стоит галка в настройках - "Use flag "L" for IMGFS")
    Данный запрос можно отключить в опциях, включив "Disable dialog for "L" in IMGFS".
2.4 Править можно и нужно(для оптимального распределения) синие ячейки, зеленые ячейки
    править можно, но они все равно перерасчитываются :) Серые ячейки править нельзя.
2.5 Программа использует относительные пути в настройках (удобно в составе кухни)
2.6 Можно  работать, как с плоским дампом IMGFS(папка "dump" после работы BuildOS...),
    так и с разбитым на пакеты(папка c OEM,SYS,ROM). Указывается в настройке в поле
    "IMGFS Path". Если пишете сами путь, то будьте внимательны - первый и последний слеш
    обязателены!

****** Рекомендации:  *****************************************************************

    При работе с XIP рекомендуется указывать здесь путь к IMGFS разбитой
    на пакеты (папки OEM,ROM,SYS), т.к. программа поправит .VM и .ROM, дальше при
    работе BuildOS папки VM и ROM перенесуться в плоский дамп, и уже при сборке прошивки
    утилите нужно будет в командной строке указать путь к плоскому дампу. Выполнив эти
    рекомендации не нужно будет постоянно менять пути в настройках!!!

********************************************************************************
*******

    В поле "XIP Path" выбирается папка, которая должна содержать XIPPort.exe и
    папку OUT. Если пишете сами путь, то будьте внимательны - первый и последний слеш
    обязателены!

    Поле "LOGS Path" может быть любым, туда сохраняются MAP.txt и логи с закладки "Debug"
2.7 Настройки сохраняются в "EXTReloc.ini"
2.8 В настройках можно указать границы для каждого слота, выше которых модули релочиться
    не будут и перейдут в след. слот. Либо, если это уже слот 0, выводится сообщение, о
    нехватке места - передвиньте границу, либо переведите часть модулей в файлы.
    Последовательность заполнения слотов для нативного 6.5: 1-61-60-0, для 6.1: 1-0
2.9 Есть отключаемая вкладка "Debug", в нее выводится информация. В верхний список
    попадают обычные модули, в средний - модули с флагом "L", а так же nk.exe и модули,
    исполняемые  по месту в RAM(флаг "K"). В нижнем окне ведется Log. Лог и списки можно
    сохранить в  текстовые файлы.  Для этого - двойной клик на списке...
    "Set active page "Debug" during reloc" - во время релока переходить на вкладку
    "Debug"...
2.10 Встроенный маппер может показывать так же модули XIP (нужен ROMHDR.txt,удобно
     смотреть полное распределение памяти). Данная опция также отключаемая.
     "Create MAP.txt" в настройках - создавать MAP.txt при релоке.     
     Если поставить галочку в настройках на "View MAP.txt after reloc",  то карта будет
     показываться сразу после релока. "Create MAP.bak" - переименовывать предыдущий
     MAP.txt в MAP.bak.
     "Build MAP.txt" - можно посмотреть карту любой прошивки(есть запрос путей).

########################  Теперь немного о работе с XIP'ом.    #########################


1. Запускаем XIPPort("Import XIPPort")
2. Дампим XIP'ы(родной и донора)
3. Меняем папки OEMXIPKERNEL,переписываем ROMHDR.txt родной. Также родные .VM и .ROM,
   должны быть в папке с IMGFS.
4. Кнопки открытия и сохранения .VM и .ROM не обязательны, если просто хотите открыть -
   посмотреть(отредактировать) границы.
5. Когда собрали все папки и удалили ненужные модули, жмем "Realloc V(DLL)" -
   отрелочатся модули в слоте 1 и их RW-секции в 0м слоте.
   Здесь же происходит релок модулей в области physfirst-phislast.
   При этом адрес physlast увеличится на 0х100000. Это сделано для того, чтобы XIPPort
   сумел разместить новые модули в адресном пространстве physfirst-physlast родного
   ROMHDR. XIPPort не умеет сам отодвигать в большую сторону эту границу, поэтому если
   пространства не  хватает, то он об этом явно скажет - "Not enough space".
   Если не указана опция  "Move dllfirst (Lo)", то между XIP модулями и IMGFS будет
   пустое пространство размером 256 Кб (по умолчанию в оригиналных прошивках)
6. Жмем в XIPPort "Realloc P". XIPPort поправит dataptr модулей и заполнит
   physfirst-physlast. Если напишет "Unknown o32 region flags: d0000040", то здесь
   ничего страшного, просто XIPPort "не понимает" секцию с флагом IMAGE_SCN_MEM_SHARED,
   и ругается, но никаких проблем не возникает - релок проходит нормально.

************* ВАЖНО - операции обязательны!!! **************************************

7. Теперь нам нужно поджать границу physlast. !!!Обязательно!!! -  Жмем "Write map.txt"
   в XIPPort.

********************************************************************************
****

8. Теперь релочим NK.EXE и т.п  - кнопка "Realloc NK.EXE..."
   Сначала утилита вытащит  последний реальный адрес в пространсве physfirst-physlast
   из MAP.txt и подставит  в ячейку  "physlast", потом запустится релок
9. Последний раз жмем  "Realloc P".
10. Смотрим карту  "Write map.txt" - "View MAP.txt", если пересечений нет, границы все
    на месте, то жмем  "Build xip_out.bin".

   Все XIP готов.



#####################   Работа с параметрами для XIP ##################################

1. Если программа запускается с параметрами, то автоматически запустится процесс
   релока и произойдет переход на вкладку "Debug"!
  

2. Программа поддерживает следующие параметры командной строки:

   -WM65 - работа с нативным ядром 6.5, если параметр не указан то - WM6.1

   -dX[XIP Path] -  ОТНОСИТЕЛЬНЫЙ путь к XIP, параметр обязательный!
                    Если сам путь не указан, а только "-dX", будет использован
                    текущий каталог. Путь указывается  без пробелов, первый и
                    последний слеш не обязательны.


   -d[IMGFS Path] - ОТНОСИТЕЛЬНЫЙ путь к OS, параметр обязательный(,VM и .ROM)!
                    Если сам путь не указан, а только "-d", будет использован
                    текущий каталог. Путь указывается  без пробелов, первый и
                    последний слеш не обязательны.

   -l[LOGS Path] - ОТНОСИТЕЛЬНЫЙ путь к EXTReloc.log (кроме информации о релоке здесь
                   также указываются ОШИБКИ !!!). Если сам путь не указан, а только "-l",
                   будет использован текущий каталог. Если данный параметр не указан
                   вообще, то EXTReloc.log создан не будет! Путь указывается  без
                   пробелов, первый и последний слеш не обязательны. Перед формированием
           лога старый лог, если он существует, удаляется.

   -lbak[LOGS Path] - ОТНОСИТЕЛЬНЫЙ путь к EXTReloc.log (кроме информации о релоке здесь
                   также указываются ОШИБКИ !!!). Если сам путь не указан, а только "-lbak",
                   будет использован текущий каталог. Если данный параметр не указан
                   вообще, то EXTReloc.log создан не будет! Путь указывается  без
                   пробелов, первый и последний слеш не обязательны. Перед формированием
           лога старый лог, если он существует, переименовывается в EXTReloc.bak

*********** Примечание ****************************************************************

Параметры "-l" и "-lbak" взаимоисключающие, указывается только один из них!!!

********************************************************************************
*******

   -relDLL - релок виртуальных адресов XIP(кнопка "Realloc V(DLL)")

   -relNK - релок модулей в RAM(кнопка "Realloc NK.EXE,GIISR.DLL,etc")

   -DllLo - поджимать границу "dllfirst (Lo)"

   -noClose - если указать данный параметр, то программа останется открытой после
          релока.


###########################    Работа с IMGFS    #####################################


1. Открывается, если потянуть разделитель(белая полоса) влево.
2. Кнопки открытия и сохранения .VM и .ROM не обязательны, если просто хотите открыть -
   посмотреть(отредактировать) границы.
3. Основная кнопка - "Realloc IMGFS..."

***   Рекомендации:  *******************************************************************
  
   Заполнение слота 0 под завязку скорее всего  происходит потому что:

3.1 EXTReloc задает вопрос, если есть несовпадение: например адрес e32_Vbase находится в
    слоте 0, а флаг "L" у модуля отсутствует или наоборот флаг "L" есть, а адрес
    e32_Vbase находится в слотах 1,(61,60).
3.2 Если ответить ей "Yes(to ALL)", то она перенесет в 0 слот все эти несоответствия
    плюс те модули, где соответствие ЕСТЬ!!! Потому скорее всего слот 0 забит!
3.3 Выход из этой ситуации может быть такой (IMHO самый оптимальный) - релок в
    два прохода:

"1й-Проход" - отвечаем "Yes(to ALL)", при этом самое ГЛАВНОЕ - флагу "L" станет
   соответствовать  e32_Vbase.
"2й-Проход" - отвечаем "No(to ALL)", тогда все модули которые не имели флага "L"
   перенесутся по слотам 1(60,61) и в слоте 0 останутся только модули с флагом "L",
   что нам и нужно!!!

Почему сразу я не переношу в 0й слот модули только с флагом "L" ?
Потому что, можно это делать не для всех модулей, а на выбор для каждого :)))
И во вторых - может быть Вы знаете, что модуль должен быть в слоте 0, а по какой-то
причине флаг "L" в *.dsm отсутствует, например "DSM_Editor by Ervius", если нажать
"Update dsm in a package", вообще сбрасывает все флаги - остаются только "S" и "H".

3.4 Если поставить опцию "Disable dialog for "L" in IMGFS", то данный запрос будет
    отключен!!! И программа просто перенесет в слот 0 только модули с флагом "L" в
    *.dsm. Данную поцию можно использовать, если Вы точно уверены в том, что все *.dsm
    файлы корректны!!! (заменяет 2 прохода, описанные выше)

********************************************************************************
********


########################### Работа с IMGFS в составе кухни. ###########################

1. Если программа запускается с параметрами, то автоматически запустится процесс
   релока и произойдет переход на вкладку "Debug"!
  


2. Программа поддерживает следующие параметры командной строки:

   -WM65 - работа с нативным ядром 6.5, если параметр не указан то - WM6.1

   -d[IMGFS Path] - ОТНОСИТЕЛЬНЫЙ путь к OS, параметр обязательный! Если сам путь
                    не указан, а только "-d", будет использован текущий каталог.
                    Путь указывается  без пробелов, первый и последний слеш не
                    обязательны.

   -m[LOGS Path] - ОТНОСИТЕЛЬНЫЙ путь к MAP.txt. Если сам путь не указан, а  только
                   "-m", будет использован текущий каталог. Если данный параметр не
                   указан вообще, то MAP.txt создан НЕ БУДЕТ! Путь указывается  без
                   пробелов, первый и последний слеш не обязательны. Перед
                   формированием карты старый MAP.txt, если он существует, удаляется.

   -mbak[LOGS Path] - ОТНОСИТЕЛЬНЫЙ путь к MAP.txt. Если сам путь не указан, а  только
                   "-mbak", будет использован текущий каталог. Если данный параметр не
                   указан вообще, то MAP.txt создан НЕ БУДЕТ! Путь указывается  без
                   пробелов, первый и последний слеш не обязательны. Перед
                   формированием карты старый MAP.txt, если он существует,
                   будет переименован в MAP.bak

*********** Примечание ****************************************************************

Параметры "-m" и "-mbak" взаимоисключающие, указывается только один из них!!!

********************************************************************************
*******


   -l[LOGS Path] - ОТНОСИТЕЛЬНЫЙ путь к EXTReloc.log (кроме информации о релоке здесь
                   также указываются ОШИБКИ !!!). Если сам путь не указан, а только "-l",
                   будет использован текущий каталог. Если данный параметр не указан
                   вообще, то EXTReloc.log создан не будет! Путь указывается  без
                   пробелов, первый и последний слеш не обязательны. Перед формированием
           лога старый лог, если он существует, удаляется.

   -lbak[LOGS Path] - ОТНОСИТЕЛЬНЫЙ путь к EXTReloc.log (кроме информации о релоке здесь
                   также указываются ОШИБКИ !!!). Если сам путь не указан, а только "-lbak",
                   будет использован текущий каталог. Если данный параметр не указан
                   вообще, то EXTReloc.log создан не будет! Путь указывается  без
                   пробелов, первый и последний слеш не обязательны. Перед формированием
           лога старый лог, если он существует, переименовывается в EXTReloc.bak

*********** Примечание ****************************************************************

Параметры "-l" и "-lbak" взаимоисключающие, указывается только один из них!!!

********************************************************************************
*******


***** Общее замечание *****************************************************************

1. Если в параметре "-m"("-mbak") уже указан путь, то в параметре "-l"("-lbak") его
указывать не обязательно и наоборот! Если путь указан в обоих параметрах, то будет
браться первый встретившийся!
2. Если указанный путь для логов не существует, он будет создан!!!

********************************************************************************
*******

   -noImL - отключает флаг "L" для IMGFS. Если параметр не указан, флаг "L", будет
        использован!
  
   -noDlgL - отключает запрос программы по переносу модулей в слот 0. Переносятся
         только модули  с флагом "L" в *.dsm!!! (Заменяет релок в 2 прохода)

   -DelImTXT - удалять imageinfo.txt при релоке(только для IMGFS).

   -noClose - если указать данный параметр, то программа останется открытой после
          релока.


**** Рекомендации:   ************************************************************

- Флаг "L" для IMGFS - есть пережиток прошлого, поэтому для WM6.5(native NK.EXE)
   его лучше снять!
   Если прошивка при этом заработает  без глюков, то в слоте 0 у Вас будет больше
   пространства для текущих процессов! Для WM6.1 этот флаг лучше оставить, т.к.
   слотов мало, а модулей много - и пусть лучше модули с флагом "L" будут в 0м
   слоте, чем другие!
- Для XIP флаг "L"  снимать скорее всего нельзя! :))

Как бы нам не хотелось, но собрать прошивку без глюков возможно только при корректных
*.dsm файлах, поэтому если Вы их правите - правьте аккуратно, следите за флагами!

********************************************************************************
**

################################################################################
########

   Удачи Вам !;)

  Отдельная благодарность: Barin(asusmobile.ru) и
                           Mamaich(исполюзуются части кода RecMod)

                                                                       Yad

Автор: AGC 23.9.2009, 8:46

Yad, спасибо! Очень интересно, надо будет опробовать smile.gif

Автор: Amir 23.9.2009, 9:29

портировал xip wm 6.5 23017 standart с помощью этой программы в мапах ! нет но не заработал он у меня,а когда в ручную делал работает

Автор: GUG 23.9.2009, 10:44

у меня пишет что .VM и .ROM не соответствует 6.1 измените в настройках

Автор: Yad 23.9.2009, 14:13

Цитата(Amir @ 23.9.2009, 10:29) *
портировал xip wm 6.5 23017 standart с помощью этой программы в мапах ! нет но не заработал он у меня,а когда в ручную делал работает

С Ксипом есть проблемы, сейчас пытаюсь их решить...


Цитата(GUG @ 23.9.2009, 11:44) *
у меня пишет что .VM и .ROM не соответствует 6.1 измените в настройках

Значит у Вас .VM и .ROM от 6.5, если уверены, что у Вас ядро нативное 6.5, то измените в Options, а если ядро старое, то возьмите .VM и .ROM из оффициальной оригинальной 6.1

Автор: GUG 23.9.2009, 15:19

VM и ROM из оф помогли, ещё одно не находит или не может открыть packages.cif

Автор: Yad 23.9.2009, 15:31

Цитата(GUG @ 23.9.2009, 16:19) *
VM и ROM из оф помогли, ещё одно не находит или не может открыть packages.cif

он должен быть либо в корневой папке, если это плоский дамп, либо в METADATA... ну и можете отключить опцию сортировки по нему в настройках...

Автор: GUG 23.9.2009, 15:43

где он должен быть там он и лежит, правда в плоском дампе ещё не пробывал а на сусе спотыкается

Автор: Yad 23.9.2009, 15:51

Цитата(GUG @ 23.9.2009, 16:43) *
где он должен быть там он и лежит, правда в плоском дампе ещё не пробывал а на сусе спотыкается

Случаем не пишет, што доступ к файлу запрещен?

Автор: GUG 23.9.2009, 16:03

да поменял я ему атрибуты, на плоском дампе всё нормально работает

Автор: Yad 23.9.2009, 17:01

обновил утилиту...

Автор: Yad 24.9.2009, 7:29

Кто-нибудь пробовал отрелочить хотя бы IMGFS и собрать прошивку?

Предвидя некоторые вопросы:

Ну, как известно слоты заполняются от старших адресов к младшим, т.е. для 0го это от 02000000 до
00000000, соответственно, "передвинуть границу в сторону увеличения пространства в слоте 0" - это значит уменьшить ее, в данном случае до 00060000, почти в ноль smile.gif

Т.е. после сдвига границы на столько, скорее всего все отрелочится, ну а там сами смотрите, где у вас будет граница, и сколько файлов вам перевести в модули(реальная граница после релока пересчитывается и отображается в карте)...
В след. версии я изменю эту границу по умолчанию на 00060000, чтобы больше не возникало вопросов...

Модули с флагом L можно вообще не выносить полностью в слот 0, для этого просто снимите галку в настройках, и будет как в платформбилдере от bepe, но вполне возможно, што после этого прошивка не заработает, а может быть и заработает, т.к. bepe пишет, што это пережиток и многие модули заработают не в слоте 0

Автор: Amir 24.9.2009, 11:00

Цитата
6. Жмем "Write map.txt" в XIPPort.
7. Далее "View MAP.txt" в программе. Откроется карта ксипа. Копируем из нее значение
последнего модуля в области physfirst-physlast, например:
------------------------------------------------------------------------------------
802933b4 - 8029aff6 L00007c42 filedata boot.rgu
8029aff8 - 802a1ff8 L00007000 filedata mxip_lang.vol
802a1ff8 - 802a599d L000039a5 filedata sysroots.p7b
802a59a0 - 802a6f4c L000015ac filedata 449da4ef-e9c1-5cb4-2ec5-fb9b4c27a865.dsm
802a6f4c - 802a7f2a L00000fde filedata 723fb954-d931-4348-b672-82a188e587b5.dsm
802a7f2a - 802a7f2a L00000000 End: highest physical address

Здесь из строки:
802a6f4c - 802a7f2a L00000fde filedata 723fb954-d931-4348-b672-82a188e587b5.dsm
копируем "802a7f2a" в буфер...


84914218 - 8491e218 L0000a000 filedata boot.hv
8491e218 - 84925218 L00007000 filedata mxip_initdb.vol
84925218 - 8492b058 L00005e40 filedata boot.rgu
8492b058 - 8492c260 L00001208 NUL
8492c260 - 8492c260 L00000000 End: highest physical address

вот вставляю в программе 8492c260 правильно
кстати у меня в этой строчке и так это значение
не работает xip собранный
в обновленной версии по прежнему не работает
давай приложу два xip-а сам попробуешь

Автор: Yad 24.9.2009, 12:05

Цитата(Amir @ 24.9.2009, 12:00) *
84914218 - 8491e218 L0000a000 filedata boot.hv
8491e218 - 84925218 L00007000 filedata mxip_initdb.vol
84925218 - 8492b058 L00005e40 filedata boot.rgu
8492b058 - 8492c260 L00001208 NUL
8492c260 - 8492c260 L00000000 End: highest physical address

вот вставляю в программе 8492c260 правильно
кстати у меня в этой строчке и так это значение
не работает xip собранный

давай приложу два xip-а сам попробуешь

Да прикладывать пока смысла нету sad.gif
Попробуйте еще, обновил...

IMGFS кто-нить релочил, работает?

Автор: GUG 24.9.2009, 14:46

IMGFS релочит вроде нормально, правда без галки на L пробывал, прошивка завелась и работает

Автор: Yad 24.9.2009, 15:09

Цитата(GUG @ 24.9.2009, 15:46) *
IMGFS релочит вроде нормально, правда без галки на L пробывал, прошивка завелась и работает

Отлично, хоть одна радостная новость, спасибо! Попробуй плиз, XIP на последней отрелочить, может правда xipport неправильно собирал из-за того, што imeginfo.txt были ни в том формате... Только плиз сначала не релочь nk, а только модули проверь, ну если пройдет, то уже с nk

Автор: GUG 24.9.2009, 16:13

на чемто спотыкается при релоке, запускаю Realloc V(DLL) ругается на nk жму ему нет, модули релочаться а потом он какойто файл найти не может, по картам пересечений нет, а ксип не рабочий

Автор: Yad 24.9.2009, 16:23

Цитата(GUG @ 24.9.2009, 17:13) *
на чемто спотыкается при релоке, запускаю Realloc V(DLL) ругается на nk жму ему нет, модули релочаться а потом он какойто файл найти не может, по картам пересечений нет, а ксип не рабочий

Когда пишет што файл не найден, скорее всего некорректный dsm, в котором описаны модули и файлы, кинь ссылку на свой XIP. я его посмотрю, ну либо воспользуйся http://www.sendspace.com/file/c66tlc и посмотри сам, соответствие реальных файлов и того што есть в dsm...

Автор: GUG 24.9.2009, 16:32

ещё вопрос он nk перекидывает в нулевой слот независимо от того что я ответил при вопросе ? а то такое ощущение что в нулевой летит как не отвечай

про dsm то верно я его не правил когда лишнее выкинул, попробую поправить и отпишусь

Автор: Yad 24.9.2009, 16:35

Цитата(GUG @ 24.9.2009, 17:29) *
ещё вопрос он nk перекидывает в нулевой слот независимо от того что я ответил при вопросе ? а то такое ощущение что в нулевой летит как не отвечай

Нет, он просто его переносит в тот список(ессно в не зависимости от того что ты ответил), дальше работает с ним отдельно...
А почему у тебя такой вопрос задается? У тебя есть модули которые полностью в 0м слоте в XIP? Я пока видел только один такой ramdisk.dll

Цитата(GUG @ 24.9.2009, 17:32) *
про dsm то верно я его не правил когда лишнее выкинул, попробую поправить и отпишусь

если в dsm есть, а реального нет, то ошибки не будет, ошибка если файл присутствует реально, а вот в dsm его нет!

Автор: GUG 24.9.2009, 16:40

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

Автор: Yad 24.9.2009, 16:43

Цитата(GUG @ 24.9.2009, 17:40) *
новых модулей в ксип я не добавлял, так что как ты пишешь ошибки быть не должно, но она есть

ты все же проверь, плиз... можешь когда выскочит ошибка, перейти на вкладку debug(в настройках включи) и посмотреть, на какой-то строке возможно будет в столбце GUID "-----", вот и посмотри какого файла в спискках не хватает, а реально он присутствует...

Автор: GUG 24.9.2009, 17:12

короче ошибка по моей вине у меня в папке ешё автопортер ксип лежал так почемуто релок твой и туда забрался, определи ему жёсто папку OUT, ксип собрался нормально, всё работает

поторопился, железо вроде инициализируется а винда не грузится

Автор: Yad 24.9.2009, 17:14

Цитата(GUG @ 24.9.2009, 18:12) *
короче ошибка по моей вине у меня в папке ешё автопортер ксип лежал так почемуто релок твой и туда забрался, определи ему жёсто папку OUT, ксип собрался нормально, всё работает

поторопился, железо вроде инициализируется а винда не грузится

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

Автор: GUG 24.9.2009, 17:17

винда то рабочая, перед этим собирал, релочил твоей утилитой, т.е. доходит до звука после которой должна появится надпись коснитесь....., и после этого с пол минуты висит на виндовой закладке потом белый экран и всё

Автор: Yad 24.9.2009, 17:24

Цитата(GUG @ 24.9.2009, 18:17) *
винда то рабочая, перед этим собирал, релочил твоей утилитой, т.е. доходит до звука после которой должна появится надпись коснитесь....., и после этого с пол минуты висит на виндовой закладке потом белый экран и всё

гм, чо-то вообще прикольно, даже не знаю куда рыть... попробуй не релочить nk, только модули

Автор: GUG 25.9.2009, 9:28

сегодня попробывал на другой прошивке IMGFS отрелочить, без галки на L релочит нормально с включенной L винда не стартует

Автор: Yad 25.9.2009, 11:20

Цитата(GUG @ 25.9.2009, 10:28) *
сегодня попробывал на другой прошивке IMGFS отрелочить, без галки на L релочит нормально с включенной L винда не стартует


Спасибо, бум разбираться...

...обновил до fix2(пару ошибок исправлено, в том числе при релоке некоторых nk)

Автор: Yad 28.9.2009, 16:37

RC3-fix2 - исправлена построение карты map.txt в некоторых случайях

Автор: Yad 29.9.2009, 16:30

исправлена еще одна глобальная ошибка релока, качаем RC3-fix3

Автор: Yad 30.9.2009, 8:22

RC3-fix4 ...ну и еще кучка ошибок smile.gif

Автор: Yad 1.10.2009, 16:53

GUG, у тебя что-нить еще получилось?

Автор: Amir 1.10.2009, 18:56

xip собирается?

Автор: GUG 2.10.2009, 7:10

Цитата(Yad @ 1.10.2009, 17:53) *
GUG, у тебя что-нить еще получилось?

с ксипом не заморачивался пока, а IMGFS релочит без проблем, ещё запуск с параметрами чтобы на кнопочки не жать а автоматом в кухне и очень достойное творение

Автор: Yad 5.10.2009, 10:36

fix5 - много изменений! Читаем описание!

Автор: Yad 6.10.2009, 11:01

fix6 - исправлена работа с параметрами командной строки

Автор: Yad 11.10.2009, 13:07

Релиз! Читаем описание - удален один параметр командной строки и добавлен другой...

Автор: izCCCP 12.10.2009, 11:38

В кухне ervius кто пробовал применить ?

Автор: AGC 12.10.2009, 14:18

Цитата(izCCCP @ 12.10.2009, 12:38) *
В кухне ervius кто пробовал применить ?

У меня для Даймонда нативное ядро и там все Ок с релоком и так. Все хочу попробовать в кухнях P320 или 6815, но руки не доходят до них. Как буду собирать порт на один из этих девайсов попробую. Впрочем, для Ervius есть один нюанс из описания: "Для работы утилиты ОБЯЗАТЕЛЬНО нужны файлы *.dsm. ", т.е. нужно смотреть батники Ervius, т.к. для Ext, по-моему, он не использует dsm.

P.S. Yad - ОГРОМНОЕ СПАСИБО за труды, обязательно попробую, очень интересно для моих "проблемных" устройств, в которых стандартные релокеры работают не очень хорошо. smile.gif

Автор: Yad 13.10.2009, 7:53

Цитата(AGC @ 12.10.2009, 15:18) *
У меня для Даймонда нативное ядро и там все Ок с релоком и так. Все хочу попробовать в кухнях P320 или 6815, но руки не доходят до них. Как буду собирать порт на один из этих девайсов попробую. Впрочем, для Ervius есть один нюанс из описания: "Для работы утилиты ОБЯЗАТЕЛЬНО нужны файлы *.dsm. ", т.е. нужно смотреть батники Ervius, т.к. для Ext, по-моему, он не использует dsm.

P.S. Yad - ОГРОМНОЕ СПАСИБО за труды, обязательно попробую, очень интересно для моих "проблемных" устройств, в которых стандартные релокеры работают не очень хорошо. smile.gif

http://4pda.ru/forum/index.php?showtopic=137276&view=findpost&p=3316045 вот еще рекмод пофиксенный, может пригодится...

Автор: AGC 13.10.2009, 11:56

Цитата(Yad @ 13.10.2009, 8:53) *
http://4pda.ru/forum/index.php?showtopic=137276&view=findpost&p=3316045 вот еще рекмод пофиксенный, может пригодится...

Если он мне соберет nk.exe от ASUS p320-го, скажу огромное спасибо! biggrin.gif Давно хотел отпатчить его на предмет границ, да все лень было серьезно возиться, пару раз тыркнулся, не получилось собрать и в IDA засунуть.

Автор: AGC 13.10.2009, 13:29

Кстати, сразу маленький багрепорт. Еще на стадии сборки прошивки возникли вопросы:

1. Обработка DSM нулевой длины как идет? Программа трапается без объяснения причин, игнорирует или что-то еще? У меня просто оказалось несколько собственных пакетов, где DSM забыл сбилдить smile.gif Так и не понял, как программа их обрабатывает, т.к. шли трапы, видимо, по другому поводу, но к тому моменту я уже сбилдил DSM.

2. Если программа не может создать map.txt, то она трапается с ошибой. Это плохо. Я, просто, сначала не совсем верно прочитал описание строчки с тем, куда помещать map.txt, думал там и имя файла указывается, поэтому шел трап с совершенно непонятной для меня причиной smile.gif Тут бы кстати вставить функцию, которая при отсутствии указанного пути, создает его (директории)...

Вообще, общее предложение. Усовершенствовать обработку ошибок. Это сильно критично, т.к. надо понимать, почему мы трапнулись. Я, к сожалению, еще не успел разобраться в вопросе, например, а выводится ли какая-то ошибка, если сборка не лезет в IMGFS? Для 6815 мне это очень критично smile.gif

А так, сейчас буду пробовать шить smile.gif

Да, еще общие предложения, хотя может я просто что не заметил. Статусную информацию (как и обработку ошибок) стоит усовершенствовать. Например, я бы выводил в заголовке окна путь, где мы релочим (либо просто статусное поле такого рода сделал). Потом прогресс не совсем понятен (может какие проценты выводить?).

В общем, если где просто не разобрался, заранее извиняюсь. Программа понравилась!

Автор: Yad 13.10.2009, 13:47

Цитата(AGC @ 13.10.2009, 14:29) *
Кстати, сразу маленький багрепорт. Еще на стадии сборки прошивки возникли вопросы:

1. Обработка DSM нулевой длины как идет? Программа трапается без объяснения причин, игнорирует или что-то еще? У меня просто оказалось несколько собственных пакетов, где DSM забыл сбилдить smile.gif Так и не понял, как программа их обрабатывает, т.к. шли трапы, видимо, по другому поводу, но к тому моменту я уже сбилдил DSM.

2. Если программа не может создать map.txt, то она трапается с ошибой. Это плохо. Я, просто, сначала не совсем верно прочитал описание строчки с тем, куда помещать map.txt, думал там и имя файла указывается, поэтому шел трап с совершенно непонятной для меня причиной smile.gif Тут бы кстати вставить функцию, которая при отсутствии указанного пути, создает его (директории)...

Вообще, общее предложение. Усовершенствовать обработку ошибок. Это сильно критично, т.к. надо понимать, почему мы трапнулись. Я, к сожалению, еще не успел разобраться в вопросе, например, а выводится ли какая-то ошибка, если сборка не лезет в IMGFS? Для 6815 мне это очень критично smile.gif

А так, сейчас буду пробовать шить smile.gif

Да, еще общие предложения, хотя может я просто что не заметил. Статусную информацию (как и обработку ошибок) стоит усовершенствовать. Например, я бы выводил в заголовке окна путь, где мы релочим (либо просто статусное поле такого рода сделал). Потом прогресс не совсем понятен (может какие проценты выводить?).

В общем, если где просто не разобрался, заранее извиняюсь. Программа понравилась!


1. dsm нулевой длины просто пропускается... лучше все же билдить плоский дамп, где dsm уже правильные...
2. Насчет пути подумаю, наверное так лучше будет, хотя предполагалось, што путь все же уже существует smile.gif
3. Гм, я только релочу модули в памяти , не более того! Если модулей очень много и они уже не влезают в 0й слот, то сообщение ессно будет, и даже выдаст на каком модуле остановились! На вкладке Debug можно посмотреть последовательность модулей...
4. Прогресс выводится внизу в статусной строке показывается какой модуль обрабатывается в данный момент, ну и можно на вкдладку debug перейти во время процесса- там галочки проставляться будут напротив модулей...

Прежде чем шиться посмотри карту памяти насчет пересечений!

Автор: AGC 13.10.2009, 14:00

Цитата(Yad @ 13.10.2009, 14:47) *
1. dsm нулевой длины просто пропускается... лучше все же билдить плоский дамп, где dsm уже правильные...

Это смотря какой кухней собирать smile.gif У меня для P320-го и 6815 ничего не ребилдится. Может (опять же об обработке ошибок) в MAP.txt строчку писать, если еще не пишется? Да, кстати, хорошо бы тогда в конце или начале MAP.txt писать сводку - были ошибки или нет, если это не пишется. Это, по-моему, было бы очень удобно.

Цитата(Yad @ 13.10.2009, 14:47) *
4. Прогресс выводится внизу в статусной строке показывается какой модуль обрабатывается в данный момент, ну и можно на вкдладку debug перейти во время процесса- там галочки проставляться будут напротив модулей...

Прежде чем шиться посмотри карту памяти насчет пересечений!

Про прогресс я говорил о проценте прохождения релока, аля G'Reloc. Удобно ведь smile.gif Но смотри сам, это не сильно критично, просто приятная мелочь. А переключаться - не очень удобно, т.к. тут еще догадаться надо smile.gif

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

P.S. Да, я уже прошился biggrin.gif Вроде все Ок (минимум - загрузились), хотя еще буду смотреть на нюансы...

Автор: Yad 13.10.2009, 14:13

Цитата(AGC @ 13.10.2009, 15:00) *
Это смотря какой кухней собирать smile.gif У меня для P320-го и 6815 ничего не ребилдится. Может (опять же об обработке ошибок) в MAP.txt строчку писать, если еще не пишется? Да, кстати, хорошо бы тогда в конце или начале MAP.txt писать сводку - были ошибки или нет, если это не пишется. Это, по-моему, было бы очень удобно.


Про прогресс я говорил о проценте прохождения релока, аля G'Reloc. Удобно ведь smile.gif Но смотри сам, это не сильно критично, просто приятная мелочь. А переключаться - не очень удобно, т.к. тут еще догадаться надо smile.gif

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

P.S. Да, я уже прошился biggrin.gif Вроде все Ок (минимум - загрузились), хотя еще буду смотреть на нюансы...

У меня основа dsm, т.к. там флаги и ту я уже ничего не сделаю smile.gif
Насчет прогресса -грелка читает дирректорию при старте, потому так долго запускается, у меня читает тока при нажатии кнопки "релок", а т.к. неизвестно сколько папок нужно пройти(там рекурсивная функция), то и прогресс организовать проблематично... ИМХО, достаточно што модуль текущий выводится...
Критичных ошибок по карте ты и так увидишь - если ест в ней пересечения - значит што-то не то... честно говоря других быть особо не может, т.к. если што-то не найдено, то процесс просто дальше не пойдет - будет выход(с предупреждением - что не найдено)... ну разве што с dsm файлами просто пропускаем... НО в ридмишке явно написано, што они оязательны... Ты поюзай еще - может проникнишься wink.gif Т.к. честно говоря единственная проблема которая еще может быть при релоке - это ненахождение нужного адреса, и эта ошибка выводится в лог на закладке debug
Но я обязательно подумаю. што еще в лог вывести, наверное dsm пропущенный нужно все же... Спасибо за предложения!

Автор: AGC 13.10.2009, 14:19

Так я его только над плоским дампом в составе кухни и использую smile.gif Там посчитать число .dsm не проблема. Но смотри сам, все это не самое критичное. Еще раз повторюсь, программа ОЧЕНЬ понравилась. Что касается моих замечаний и пожеланий, они и есть только замечания и пожелания smile.gif Если будет потом время и желание, может сделаешь. С моей точки зрения, так было бы просто удобнее. Ведь большинство как раз в составе кухни над плоским дампом будет использовать...

Автор: Yad 13.10.2009, 14:23

Цитата(AGC @ 13.10.2009, 15:19) *
Так я его только над плоским дампом в составе кухни и использую smile.gif Там посчитать число .dsm не проблема. Но смотри сам, все это не самое критичное. Еще раз повторюсь, программа ОЧЕНЬ понравилась. Что касается моих замечаний и пожеланий, они и есть только замечания и пожелания smile.gif Если будет потом время и желание, может сделаешь. С моей точки зрения, так было бы просто удобнее. Ведь большинство как раз в составе кухни над плоским дампом будет использовать...

Обязательно учту, канешна, тока надо будет к чему-нить существенному присобачить, а то тут юзеры уже жалуются, што я слишком много фиксов выпускаю - не успевают качать laugh.gif
Ты рекмод не попробовал еще?

Автор: AGC 13.10.2009, 15:12

Цитата(Yad @ 13.10.2009, 15:23) *
Обязательно учту, канешна, тока надо будет к чему-нить существенному присобачить, а то тут юзеры уже жалуются, што я слишком много фиксов выпускаю - не успевают качать laugh.gif
Ты рекмод не попробовал еще?

По мне так лучше каждый день апдейт, чем глюки на протяжении длительных периодов biggrin.gif Проблема то, поменять в кухне один файл. Я так наоборот люблю, когда разработки движутся на глазах smile.gif

До рекмода еще не добрался. Со временем беда, просто еще других задач стоит много smile.gif

Автор: AGC 14.10.2009, 8:55

Да, рапортую, IMGFS для P320 отрелочился отлично. Все работает. Спасибо! smile.gif

Автор: Yad 14.10.2009, 12:53

Цитата(AGC @ 14.10.2009, 9:55) *
Да, рапортую, IMGFS для P320 отрелочился отлично. Все работает. Спасибо! smile.gif

6.1 или 6.5? А xip не пробовал?

Автор: AGC 14.10.2009, 13:11

Цитата(Yad @ 14.10.2009, 13:53) *
6.1 или 6.5? А xip не пробовал?

6.1, XIP не пробовал, там кухня автопортирования bepe работает. Может на 6815 попробую...

Автор: Yad 17.10.2009, 17:18

v1.02 - исправлено пару небольших глюков с интерфейсом, а также изменены параметры:

Код
  -m[LOGS Path] - ОТНОСИТЕЛЬНЫЙ путь к MAP.txt. Если сам путь не указан, а  только
                   "-m", будет использован текущий каталог. Если данный параметр не
                   указан вообще, то MAP.txt создан НЕ БУДЕТ! Путь указывается  без
                   пробелов, первый и последний слеш не обязательны.

   -l[LOGS Path] - ОТНОСИТЕЛЬНЫЙ путь к EXTReloc.log (здесь указываются ОШИБКИ при
                   релоке!!!). Если сам путь не указан, а только "-l",  будет
                   использован текущий каталог. Если данный параметр не указан вообще,
                   то EXTReloc.log создан не будет! Путь указывается  без пробелов,
                   первый и последний слеш не обязательны.


1. В логе есть вывод ошибок...
2. Если путь для логов не найден, то он будет создан!

Автор: Yad 19.10.2009, 12:22

Ну и до кучи еще одно обновление, по просьбам трудящихся масс, сделать более наглядным процесс - сделал еще одну опцию:

Код
    "Set active page "Debug" during reloc" - во время релока переходить на вкладку
    "Debug"...

В связи с этим немного переработал лог - отображаются как старые адреса так и новые + ошибки если есть...

В режиме работы в кухне с параметрами вкладка "Debug" становится активной по умолчанию...

На этом пока все, если проблем не будет и фиксы не понадобятся, то проект продолжится только после того, как разберусь с Realloc P, чтобы выкинуть XIPport, но это будет не совсем скоро, много других дел накопилось...

PS. AGC, специально для тебя, надеюсь понравится... smile.gif

Автор: AGC 19.10.2009, 14:09

Yad, спасибо! Надо теперь пробовать smile.gif

Автор: Yad 21.10.2009, 13:15

1.04 - исправил ошибку с созданием несуществующего пути для логов smile.gif

Автор: Yad 26.10.2009, 8:57

v1.05 - добавлены параметры ком. строки для XIP. а также есть возможность сохранять *.bak для логов и карты...
Выложил также батник для автопортирования XIP от Alex~(asusmobile.ru)

Автор: ArtIMANIAK 31.10.2009, 12:03

Ссылка на батник больше не работает sad.gif

Автор: AGC 31.10.2009, 14:20

Цитата(ArtIMANIAK @ 31.10.2009, 13:03) *
Ссылка на батник больше не работает sad.gif

Наверное, ты об этом...

 BuildingXIP.rar ( 330.53 килобайт ) : 9
 

Автор: Yad 1.11.2009, 18:07

V1.1 - основные изменения:

1. Добавлен релок модулей в пространстве physfirst-phislast. Пробуем, тестируем!!! Актуально будет у тех, у кого в RAM нужных модулей больше одного(nk.exe), Например, есть еще giisr.dll + отладочные модули. Причем giisr.dll идет не следом за nk.exe, а после какого-нить отладочного. Раньше после удаления отладочных модулей, между nk и giisr оставалась дырка, теперь ее не будет, соотв. XIP немного подожмется еще... Переделана карта MAP.txt - в области physfirst-phislast теперь не должно быть пересечений!!!
2. Убран параметр "-physL", теперь он входит в состав "Realloc NK.EXE...".
3. Добавлена опция "Move dllfirst (Lo)" и соотв. ей параметр "-DllLo". По умолчанию теперь между последним модулем XIP и первым IMGFS в слоте 0 остается дыра в 256Кб(как в оригинальной прошивке) - на некоторых XIP'ах без этой дырки глюки... Если включить данную опцию или указать параметр, то дырка убирается...

PS. Не удаляйте у себя версию 1.05 сначала, попробуйте новый релок XIP, если будет все в порядке, того можете грохнуть rolleyes.gif

Автор: Yad 3.11.2009, 10:43

v1.1a - исправил досадную ошибку при работе с параметрами для XIP

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