LINUX.ORG.RU

История изменений

Исправление 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, вот это вот всё. И сказать что в данном случае я затрудняюсь. Посмотрите на сайте гуглей про разработку под ведро андроида. Ну и вообще гуглить надо, т.к. задачка весьма специфичная.

Ну вот, как-то так, если чисто навскидку и неприцельно. Чтобы прицельно, надо садиться и в деталях разбираться для данного решения. Может, кто что ещё подскажет?