Мануал составлен
Fortek.
Оборудование и платформа: ноутбук Lenovo G580 с предустановленными Linux Mint 15 x64 и Windows 8 x64.
Предустановленные пакеты на Linux Mint:
flex, bison, gperf, zlib1g-dev, g++-multilib, g++-4.4-multilib, libc6-dev-i386, lib32ncurses5-dev, ia32-libs, x11proto-core-dev, libx11-dev, lib32readline5-dev, lib32z1-dev, mingw32
sudo apt-get install flex bison gperf zlib1g-dev g++-multilib g++-4.4-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z1-dev mingw32
Отдельное ПО: GNU make, arm-eabi (4.4.3), JDK.
1. В домашней директории создаем папку нашего проекта, где будет собираться будущее ядро. К примеру
/home/user/android/
2. Распаковываем исходники ядра (в нашем случае это kernel и mediatek в папку android)
3. Берем кросс-компилятор (желательно перекомпилированный) toolchain 4.4.3 и запихиваем в папку android. В моем случае я его переименую в arm.
4. Теперь нужно создать конфигурационный файл, на основе которого будет собираться ядро. Можно создать новый или использовать существующий, который лежит в вашем телефону в /proc/config.gz. Выдергиваем его и закидываем в /android/kernel/ и переименовываем в .config
5. Так как ядро будет собираться по некоторым инитам, нам нужно распаковать ядро. Используем
этот распаковщик. И извлекаем 2 файла repack.pl и unpack.pl в папку android. Берем родной boot.img и перетаскиваем так же в папку android.
Далее открываем терминал (ctrl+alt+T), выполняем команду
cd ~/android/
unpack.pl boot.img
Получаем папку
boot.img-ramdisk6. Открываем терминал (ctrl+alt+T). Переходим в папку kernel
7. Настраиваем кросс-компилятор.
export ARCH=arm
export CROSS_COMPILE=/home/user/android/arm/bin/arm-eabi-
export PROJECT=tinnoes73_gb
export CONFIG_INITRAMFS_SOURCE=/home/user/android/boot.img-ramdisk
8. Запускаем кросс-компилятор
9. Настраиваем что вам необходимо. Нажимаем два раза Esc, сохраняем свой .config
10. Собираем ядро
make CONFIG_DEBUG_SECTION_MISMATCH=y