История изменений
Исправление
Moisha_Liberman,
(текущая версия)
:
Говорю же — с сырцами тут чего-то не то было.
Хорошо что собралось.
Как правильно и какой файл из этих двух Image.gz и Image.gz-dtb переделать в img файл для прошивки ядра?
dtb это описание борды (платы Вашего девайса). Он формируется (компилируется) из файлов dts. В них прописаны адреса и прочая инфа об устройствах на плате (или в телефоне). Это некая такая «карта устройств». В результирующем образе этот файл должен быть перед общим img-файлом (который Image.gz), который должен содержать общую прошивку. Т.е., по логике сперва прогружаться должен кусок с dtb, потом общий образ.
Мне сложно сказать вот так, навскидку, надо смотреть по какому howto делали. В общем и целом, у Вас должен получиться некий «полный образ», куда dtb включены первыми, а общая прошивка второй. Обе прошивки это некие такие партиции (разделы файловой системы Вашего мобильника). Результирующая прошивка — их объединение.
Про dtb — https://source.android.com/devices/architecture/dto/partitions
И как написать патч для поддержки HID атак?Есть в гитхабе https://github.com/pelya/android-keyboard-gadget но он не поддерживает мой телефон, и там написано что тогда вам придется самому его собирать, как это сделать?
Насколько я понял, Вам нужно создать патч для Вашего девайса. Как пример посмотрите здесь — https://github.com/pelya/android-keyboard-gadget/tree/master/patches
Причём, надо учитывать версию ядра, если по-хорошему. Пример по шагам, не знаю насколько корректный, но вот — https://github.com/pelya/android-keyboard-gadget/blob/master/HTCM7_patch_steps и вот — https://github.com/pelya/android-keyboard-gadget/blob/master/CONTRIBUTING_AND...
Дальше Вы должны пропатчить этим патчем ядро своего девайса. Патч должен быть подготовлен согласно (например) вот этого документа — https://github.com/pelya/android-keyboard-gadget/blob/master/patches/existing...
В патч, который через fastboot ставится на тело, должен быть включён remote-client, который есть в дереве исходников. После патча через fastboot он появится на экране тела. Должен появиться, во всяком случае.
Компиляция ядра — https://github.com/pelya/android-keyboard-gadget/blob/master/README.md#compil...
Может литературу какую посоветуете почитать?
А вот тут я вообще х.з. просто потому, что до определённого предела ведроид это «просто Линукс». А после определённого предела это прикладная часть, которая крайне специфична. Java там, NDK, вот это вот всё. И сказать что в данном случае я затрудняюсь. Посмотрите на сайте гуглей про разработку под ведро андроида. Ну и вообще гуглить надо, т.к. задачка весьма специфичная.
Ну вот, как-то так, если чисто навскидку и неприцельно. Чтобы прицельно, надо садиться и в деталях разбираться для данного решения. Может, кто что ещё подскажет?
UPD. Забыл написать. Вы патчите по сути, dtb своего девайса. У Вас должен получиться некий /dev/hid<номер>. А это и ядро и таблица устройств. Дальше уже работает всё через этот псевдо-девайс.
Ну вот, как-то вот так примерно. Извините что не смог раскопать тему глубже.
Исходная версия
Moisha_Liberman,
:
Ну вот... Так-то лучше. =)
Говорю же — с сырцами тут чего-то не то было.
Хорошо что собралось.
Как правильно и какой файл из этих двух Image.gz и Image.gz-dtb переделать в img файл для прошивки ядра?
dtb это описание борды (платы Вашего девайса). Он формируется (компилируется) из файлов dts. В них прописаны адреса и прочая инфа об устройствах на плате (или в телефоне). Это некая такая «карта устройств». В результирующем образе этот файл должен быть перед общим img-файлом (который Image.gz), который должен содержать общую прошивку. Т.е., по логике сперва прогружаться должен кусок с dtb, потом общий образ.
Мне сложно сказать вот так, навскидку, надо смотреть по какому howto делали. В общем и целом, у Вас должен получиться некий «полный образ», куда dtb включены первыми, а общая прошивка второй. Обе прошивки это некие такие партиции (разделы файловой системы Вашего мобильника). Результирующая прошивка — их объединение.
Про dtb — https://source.android.com/devices/architecture/dto/partitions
И как написать патч для поддержки HID атак?Есть в гитхабе https://github.com/pelya/android-keyboard-gadget но он не поддерживает мой телефон, и там написано что тогда вам придется самому его собирать, как это сделать?
Насколько я понял, Вам нужно создать патч для Вашего девайса. Как пример посмотрите здесь — https://github.com/pelya/android-keyboard-gadget/tree/master/patches
Причём, надо учитывать версию ядра, если по-хорошему. Пример по шагам, не знаю насколько корректный, но вот — https://github.com/pelya/android-keyboard-gadget/blob/master/HTCM7_patch_steps и вот — https://github.com/pelya/android-keyboard-gadget/blob/master/CONTRIBUTING_AND...
Дальше Вы должны пропатчить этим патчем ядро своего девайса. Патч должен быть подготовлен согласно (например) вот этого документа — https://github.com/pelya/android-keyboard-gadget/blob/master/patches/existing...
В патч, который через fastboot ставится на тело, должен быть включён remote-client, который есть в дереве исходников. После патча через fastboot он появится на экране тела. Должен появиться, во всяком случае.
Компиляция ядра — https://github.com/pelya/android-keyboard-gadget/blob/master/README.md#compil...
Может литературу какую посоветуете почитать?
А вот тут я вообще х.з. просто потому, что до определённого предела ведроид это «просто Линукс». А после определённого предела это прикладная часть, которая крайне специфична. Java там, NDK, вот это вот всё. И сказать что в данном случае я затрудняюсь. Посмотрите на сайте гуглей про разработку под ведро андроида. Ну и вообще гуглить надо, т.к. задачка весьма специфичная.
Ну вот, как-то так, если чисто навскидку и неприцельно. Чтобы прицельно, надо садиться и в деталях разбираться для данного решения. Может, кто что ещё подскажет?