Собираем Custom ядро для HTC

Недавно я столкнулся с такой проблемой как нехватка некоторых драйверов в одном Android аппарате от конторы HTC. Долгие и нудные потуги поставить какую либо готовую прошивку не увенчались успехом. Поэтому, было решено собрать свое ядро (с блекджеком и прочим :) ). К счастью, информации в интернете предостаточно  и собрав ее воедино, я приступил к выполнению задумки.

Сперва наперво нам нужно само ядро аппарата. Парни из HTC хорошо постарались на этот счет и выложили все все все на отдельный сайтец htcdev.com, так что выбирайте. Ядро надо чем то компилировать, я пользовался вот этим toolchain-ом - android-ndk-r7-linux-x86.tar.bz2. Создадим папочку где будем создавать нашу сборку и положим содержимое архивов туда. Далее нам следует добавить инструменты тулчейна в PATH:

PATH=<адрес к папке>/android-ndk-r5c/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH  
export PATH  

Не забываем взять конфиг ядра с прошивки что у вас на телефоне на данный момент:

adb pull /proc/config.gz  

его надо разъархивировать и кинуть в папку с ядром под именем .config

Заходим в папку с ядром и начинаем конфигурацию:

make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- menuconfig  

А потом саму сборку

make ARCH=arm CROSS_COMPILE=arm-linux-androideabi-  

Нужное нам ядро лежит по адресу  -* arch/arm/boot/zImage*

Но это еще не все. Для окончательной сборки обновления нам потребуются скрипты для апдейта. Скачать их можно от сюдаРазъархивируем архив в корень и перекинем в него файлики ядра и модулей:

cp arch/arm/boot/zImage ../kernel
find . -name '*ko' -exec cp '{}' ../kernel/system/lib/modules/ \;
cd ../kernel
zip -r kernel ./

Предпологается, что у вас на телефоне уже установлен Clockworkmod, поэтому кидаем получившейся архив на флешку. Делаем бекап(на всякий то случай) и обновляем ядро.

Enjoy!