help building / install Droid Incredible kernel

Discussion in 'Android Hacks and Help' started by gnychis, Mar 11, 2011.

  1. gnychis
    Offline

    gnychis Member

    Joined:
    Feb 24, 2011
    Messages:
    42
    Likes Received:
    0
    Trophy Points:
    6
    Ratings:
    +0
    I want to make some modifications to my Incredible's kernel. However, before I start I would like to at least try to rebuild and replace the stock kernel. That way I know that any issues are related to my changes, and not trouble building/installing the stock kernel.

    So I went to my Incredible's Software Information and found my kernel version to be:
    Code:
    2.6.32.17-g9a2fc16
    htc-kernel@u18000-Build-149 #1
    
    So I went to HTC's android source code page and found the following kernel source code which matches my build:
    HTC - Mobile Phones, Smartphones, Cell Phones, PDAs

    I pulled the kernel configuration from my phone with:
    Code:
    adb pull /proc/config.gz
    gunzip config.gz
    mv config .config
    
    Then I made sure to build with the local version properly set:
    Code:
    make LOCALVERSION=-g9a2fc16
    
    Now, the tricky part to me is actually setting up the proper boot.img. I have done two things to extract the original boot.img to get boot parameters and ramdisk. I found my boot partition here:
    Code:
    gnychis@air:~$ adb shell cat /proc/mtd
    dev:    size   erasesize  name
    mtd0: 000a0000 00020000 "misc"
    mtd1: 00480000 00020000 "recovery"
    mtd2: 00300000 00020000 "boot"
    mtd3: 0f800000 00020000 "system"
    mtd4: 000a0000 00020000 "local"
    mtd5: 02800000 00020000 "cache"
    mtd6: 09500000 00020000 "datadata"
    
    Then I extracted boot.img as follows and split it:
    Code:
    $ adb shell
       $ su
       # cat /dev/mtd/mtd2 > /sdcard/stock_boot.img
       # exit
       $ exit
    $ ./split_bootimg.pl stock_boot.img 
    Page size: 2048 (0x00000800)
    Kernel size: 2274960 (0x0022b690)
    Ramdisk size: 167337 (0x00028da9)
    Second size: 0 (0x00000000)
    Board name: 
    Command line: no_console_suspend=1
    Writing stock_boot.img-kernel ... complete.
    Writing stock_boot.img-ramdisk.gz ... complete.
    
    Then, I combine this ramdisk with my own built version of the kernel as follows:
    Code:
    ./mkbootimg --kernel kernel/arch/arm/boot/zImage --ramdisk stock_boot.img-ramdisk.gz --cmdline "no_console_suspend=1" -o boot.img
    
    Then I pushed it to my sdcard as "mystock_incredible_boot.img" and rebooted my phone to recovery mode. In recovery mode, I did:
    Code:
    # flash_image boot /sdcard/mystock_incredible_boot.img
    flashing boot from /sdcard/mystock_incredible_boot.img
    mtd: successfully wrote block at 0
    mtd: successfully wrote block at 20000
    mtd: successfully wrote block at 40000
    mtd: successfully wrote block at 60000
    mtd: successfully wrote block at 80000
    mtd: successfully wrote block at a0000
    mtd: successfully wrote block at c0000
    mtd: successfully wrote block at e0000
    mtd: successfully wrote block at 100000
    mtd: successfully wrote block at 120000
    mtd: successfully wrote block at 140000
    mtd: successfully wrote block at 160000
    mtd: successfully wrote block at 180000
    mtd: successfully wrote block at 1a0000
    mtd: successfully wrote block at 1c0000
    mtd: successfully wrote block at 1e0000
    mtd: successfully wrote block at 200000
    mtd: successfully wrote block at 220000
    mtd: successfully wrote block at 240000
    mtd: successfully wrote block at 0
    
    Then, I rebooted the phone and it never gets past the "htc Incredible" white screen. So then I tried to do some debugging and despite that the only kernel option found in the stock boot.img was "no_console_suspend=1", I found from dmesg that when the phone boots the stock boot.img there are many more kernel options:
    Code:
    <5>[    0.000000] Kernel command line: board_incrediblec.disable_uart3=0 board_incrediblec.usb_h2w_sw=0 board_incrediblec.disable_sdcard=0 diag.enabled=0 board_incrediblec.debug_uart=0 smisize=0 userdata_sel=1  androidboot.baseband=2.15.00.07.28 androidboot.cid=VZW__001 androidboot.carrier=COMMON androidboot.mid=PB3120000 androidboot.keycaps=qwerty androidboot.mode=normal androidboot.serialno=HT042HJ01678 androidboot.bootloader=0.92.0000 androidboot.hardware=inc no_console_suspend=1
    
    So, then I tried packaging it with all of these boot parameters also, and I still do not get past the "htc Incredible" white screen. I'm not sure what I am missing here. Does anyone see anything wrong with what I have done?
     
Search tags for this page

android config.gz

,
droid 2 config.gz
,
how to install kernel incredible
,
htc incredible flash image mtd0 vzw 001
,
htc kernel 2.6.32.17-g9a2fc16
,
htc kernel u18000 build 149 1
,
htc-kernel@u18000-build-149#1
,
original /proc/mtd samsung