Перейти к содержанию
49406

Компиляция эльфпака


Rescor

Рекомендуемые сообщения

Для начала качаем исходники: https://github.com/Rescor/SE_ELFS

Нам потребуется содержимое папок ElfPack (со всеми вложенными папками), include, C++ с сохранением расположений и названий папок.
Т.е. у вас должно получится следущее, в одном месте должны находиться:
-папка C++ и всё её содержимое
-папка ElfPack и всё её содержимое
-папка include и всё её содержимое

Дальше качаем компилятор - урезанную версию IAR из вложений.IAR442A.exe Распаковываем.

Теперь находим файл ElfPack.eww в папке ElfPack и ассоциируем его для простоты дальнейших действий с IAR.

Далее при двойном клике на ElfPack.eww должно открыться окно программы.
Переходим в меню Project, выбираем пункт Edit Configurations и в диалоговом окне выбираем ту модель телефона с той прошивкой, которые вам нужны, жмем "ОК". Далее заходим все в то же меню Project и выбираем пункт Rebuild All.
Если все хорошо, то внизу в окне с логом будет примерно следующее:

Total number of errors: 0
Total number of warnings: 7

Теперь у вас в папке ElfPack появились еще папки: Debug, settings, W610_R6BC002 (у вас свое), и файл ElfPack.dep.
Заходим в: W610_R6BC002\Exe\ и видим там файл ElfPack.elf
Теперь нам нужно перевести файл ElfPack.elf в формат *.vkp.
Переходим в ElfPack\_Utils. Кидаем в нее файл *.raw от нужной вам прошивки, в моем случае w610_R6BC002.raw, и скомпилированный IAR'ом ElfPack.elf из папки W610_R6BC002\Exe\ (см. выше).
Теперь редактируем блокнотом файл make.bat (в моем случае так):

elf2vkp ElfPack.elf xxx.vkp "C:\Comp\ElfPack\_Utils\w610_R6BC002.raw" 0x44140000
cnv 0x44140000 xxx.vkp out.vkp

Сохраняем его (обращаем внимание на выделенный текст, где 0x44140000 начальный адрес вашей прошивки. Его можно узнать с помощью этой софтины).

Всё. Теперь, если всё правильно сделали, остаётся только двойным кликом щелкнуть по make.bat, и у вас появятся два файла: out.vkp и xxx.vkp
out.vkp - это и есть эльфпак для вашего телефона.

После всего проделанного папки Debug, settings, W610_R6BC002 (у вас своё), и файл ElfPack.dep можно удалить.

Теперь относительно расположения папок ZBin, Deamons, Config, Ini. Для определённых телефонов это расположение может отличаться друг от друга. Но начиная с папки other расположение одинаковое.
Заходим в ElfPack\Target\ и ищем файл с названием вашего телефона и вашей прошивки, в моем случае W610_R6BC002.h.
Открываем его блокнотом и видим примерно следующее (показываю только то, что имеет смысл по данному примечанию):
 

....
#define PATH_ELF_ROOT_INT     (L"/usb/other")
#define PATH_ELF_ROOT_EXT     (L"/card/other")
#define PATH_ELF_INT          (L"/usb/other/ZBin")
#define PATH_ELF_EXT          (L"/card/other/ZBin")
#define PATH_ELF_DAEMONS_INT  (L"/usb/other/ZBin/Daemons")
#define PATH_ELF_DAEMONS_EXT  (L"/card/other/ZBin/Daemons")
#define PATH_ELF_CONFIG_INT   (L"/usb/other/ZBin/Config")
#define PATH_ELF_CONFIG_EXT   (L"/card/other/ZBin/Config")
#define PATH_INI              (L"/usb/other/ini")
#define PATH_DEFAULT          (L"/usb/other")
....

Это и будет правильное расположение ваших папок.

Готовые эльфпаки можно найти тут: http://justdanpo.ru/elfpack

Для телефонов на платформе DB2010 надо брать *.raw с замейном, иначе при перегонке ElfPack.elf в *.vkp вылетит ошибка. Замейн в прошивку можно добавить с помощью программы Recovery BIN Lite, инструкция и сама прога находятся здесь. Потом полученный файл уже перегнать в *.raw.

Также перегнать файл Elfpack.elf в формат *.vkp можно несколько проще, за что говорим спасибо INFerno--:
 

Цитата

Для компиляторщиков: сделал elf2vkp специально для SE, никаких махинаций с замейном на DB2010 делать не надо, автоматически добавляется модель телефона и версия прошивки в выходной файл, так же можно добавлять комментарии из файла, прошивка используется BABE, а не RAW, базы тоже вводить не надо.

Usage: elf2vkp.exe elfname.elf main.mbn [comment.txt]

elfname.elf - Собственно сам эльф
main.mbn - Файл прошивки (BABE)
comment.txt - Файл с комментариями (можно не указывать)

elf2vkp.zip

И ещё одна версия конвертатора: elf2vkpex.zip
Примеры использования:

elf2vkpex -eELFPACK.ELF -fPHONE_EMP_APP.CXC -fPHONE_APP.CXC
elf2vkpex -eELFPACK.ELF -fPHONE_APP.CXC
elf2vkpex -fFILE.MBN -eELFPACK.ELF
elf2vkpex -fFILE.RAW -eELFPACK.ELF -v

Порядок следования аргументов неважен.

Автор: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=3183

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...