This assumes:
- You have a Verizon Droid Incredible C
-
You have the Android NDK, which contains a cross-compiler toolchain, in order to compile the kernel.
-
You have rooted your phone with unrEVOked, and hence have the ClockworkModRecovery recovery tool installed.
- The system you are compiling on is Linux
#Used android NDK cross compilation toolkit to compile. #You have to export CROSS_COMPILE to be: export CROSS_COMPILE=/path/to/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- cd /path/to/kernel/source adb pull /proc/config.gz gunzip config.gz cp config .config make oldconfig #To customize: make menuconfig #GCC can compile in parallel on multiprocessor systems, so it works faster. #The -j12 flag below can be optimized for your system. It is the number of threads to #compile concurrently on. A good rule of thumb is to use a number that is near #the number of cores on your machine times two. So if you have a 4 core machine, #you could use -j8; two threads per core. #If you leave it as is, it shouldn't hurt anything but the compile process may not #be optimal. make -j12 EXTRA_AFLAGS=-mfpu=neon && make EXTRA_AFLAGS=-mfpu=neon modules mkdir DIST cd DIST cp ../arch/arm/boot/zImage . # oldboot.img contains boot image backed up from clockworkmod recovery cp /path/to/oldboot.img . #Extract the ramdisk from the old image: split_bootimg.pl oldboot.img #port-blank.zip contains a blank update.zip skeleton to create #a kernel update package. mkdir update-zip cd update-zip cp /path/to/port-blank.zip . unzip update-zip mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel ../zImage --ramdisk ../oldboot.img-ramdisk.gz -o boot-new.img --base 0x20000000 mv boot-new.img boot.img rm port-blank.zip #copy the compiled modules cd system/lib/modules/ cp $(find ../../../../../ -name *.ko) . #zip up the image cd ../../.. zip -r newboot.zip * #push image to the phone adb push newboot.zip /sdcard/
Now with clockworkmod recovery, turn off signed checking and flash the newboot.zip file:
Install zip from sdcard -> toggle signature verification (if it’s not off)
Install zip from sdcard -> choose zip from sdcard -> newboot.zip -> Yes
root menu -> reboot system now
WiFi Module
I was initially not able to use the WiFi module. However upon Googling, I found that I needed to use the android-ndk-r5b compiler, an earlier version than I was using. Once I did that, the WiFi module compiled correctly.
Links
-
Source code for HTC Kernels – for Droid Incredible I successfully compiled “Droid Incredible by hTC – Froyo MR3 – 2.6.32 kernel source code” (and also applied RNDIS patch above), and “Droid Incredible by HTC (Verizon) – Froyo MR – 2.6.32 kernel source code”.