[Droid Incredible Android Development] wildstang83:
Hey guys can someone please look over my instructions and see if I'm correct or not? I'm trying to learn something new here since I've never done this before.

Download http://dl4.htc.com/RomCode/Source_and_Binaries/incrediblec-2.6.35-gb-mr.tar.gz from HTC's website.

This is the correct size and MD5:

88.8 MB (93,175,808 bytes) 67c01623ff73415a99e5f8cd1d8ef11a

Enter “root” mode so we dont have to do 'sudo' so much.

sudo /bin/bash

1. Untar your incrediblec-2.6.35-gb-mr.tar.gz file

tar xvf incrediblec-2.6.35-gb-mr.tar.gz

Next, you can move the directory to /kernel for easy naming.

mv incrediblec-2.6.35-gb-mr.tar.gz /kernel

2. Next, let’s go to your SDK Tools directory android-sdk-linux/tools

cd android-sdk-linux/tools

3. Next, connect your HTC Droid Incredible to your computer and make sure it’s in USB Debugging Mode under Settings->Applications->Development.

4. Next, we will pull the current configuration from your existing kernel on the HTC Evo 4G, so we don’t break anything

adb pull /proc/config.gz .

5. Let’s gunzip the config.gz:

gunzip config.gz

6. Let’s move this config file into our kernel directory as .config:

cp config /kernel/.config

7. Go into your kernel directory:

cd /kernel

8. Let’s download the compiler for ARM on linux. (Select the latest version and download the one that says “A32 GNU/Linux TAR”. e.g. https://sourcery.mentor.com/public/...-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

Just do in Terminal:

wget https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

9. Untar the compiler

tar xvf arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

10. Let’s edit the Makefile to use the downloaded ARM compiler:

gedit Makefile

Next, change the CROSS_COMPILE	?= arm-eabi- line to:

CROSS_COMPILE	?= arm-2010q1/bin/arm-none-linux-gnueabi-

11. (Optional) You can now edit .config file to add your hacks such as enabling loop devices for mounting.

Uncomment the CONFIG_DEV_BLK_LOOP and write:

CONFIG_DEV_BLK_LOOP=y

to enable loop devices.

12. Let’s compile it by doing:

make

Once that’s done, you need to copy over the “compiled” wifi drivers to your HTC Droid Incredible to make it along with your new kernel.

Let’s copy over the new kernel and drivers to your android-sdk-linux/tools directory for easy installation.

cp /kernel/drivers/net/wireless/bcm4329_204/bcm4329.ko /android-sdk-linux/tools/
cp /kernel/arch/arm/boot/zImage /android-sdk-linux/tools/

13. Go to your SDK tools directory again and push the new files!

cd /android-sdk-linux/tools

adb push bcm4329.ko /system/lib/modules/bcm4329.ko

14. You will need fastboot to flash the new kernel image so do:

wget http://android-dls.com/files/linux/fastboot

chmod 755 fastboot

(For Windows, download this file and put into your SDK tools directory!)

Next let’s flash the new kernel image, zImage by doing:

fastboot flash zimage zImage

It should actually be waiting, now you need to turn your phone off, then boot it back up into bootloader mode by pressing the Power button WHILE holding down the volume button. Wait 3 seconds and hit the Power button to enter the fastboot mode.

15. Now you should see fastboot flashing the image and you can reboot it to try out your new HTC Droid Incredible kernel you built yourself!