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:
So I went to HTC's android source code page and found the following kernel source code which matches my build:Code:2.6.32.17-g9a2fc16 htc-kernel@u18000-Build-149 #1
HTC - Mobile Phones, Smartphones, Cell Phones, PDAs
I pulled the kernel configuration from my phone with:
Then I made sure to build with the local version properly set:Code:adb pull /proc/config.gz gunzip config.gz mv config .config
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:make LOCALVERSION=-g9a2fc16
Then I extracted boot.img as follows and split it: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 combine this ramdisk with my own built version of the kernel as follows: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 pushed it to my sdcard as "mystock_incredible_boot.img" and rebooted my phone to recovery mode. In recovery mode, I did:Code:./mkbootimg --kernel kernel/arch/arm/boot/zImage --ramdisk stock_boot.img-ramdisk.gz --cmdline "no_console_suspend=1" -o boot.img
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:# 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
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?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

LinkBack URL
About LinkBacks
Reply With Quote