[myTouch 3G, Magic Android Development] pichurri:
So, I wanted to test HTC sense, but didn't want to brick my phone, use non official images nor change the SLP. There was a problem thou, the latest rom released in Taiwan has a big (153Mb) system.img, which is bigger than the 92Mb that the older SPL assign for the system partition, making it impossible to put the new system files in your phone without the new SPL. BUT!!! you can tell the kernel how to "partition" the NAND. Here is how to do it:

DISCLAIMER:

- This could brick your phone. Don't try it if u don't know what u're doing!!!! I hate seeing bricked phones.

- The steps come from my memory and my PC's history, so think before typing anything.

- This was done in a PVT 32A.

1. BACKUP WITH NANDROID!!!!

2. Get a working kernel. I compiled the "android-msm-2.6.27" with the 2.17.401.2_HTC_CH config. But lots of hardware didn't work, it was ok for me, I was just trying to see/feel, multitouch and the Sense UI.

3. Generate a boot.img from the kernel from point 1. and the 3.03.751.4's ramdisk:

This is for PVT 32A: (I think u only need to remove the base for 32B)

mkbootimg --base 0x19200000 --cmdline "no_console_suspend=1 mtdparts=msm_nand:0x00040000@0x024c0000(misc),0x00500000@0x026c0000(recovery),0x00280000@0x02bc0000(boot),0x0aa00000@0x02e40000(system),0x08200000@0x0d840000(cache),0x0a5c0000@0x15a40000(userdata) " --kernel zImage --ramdisk boot.img-ramdisk.gz -o boot_bigmtd.img

4. Copy the system.img and boot_bigmtd.img to the sdcard.

5. Run fastboot to erase system, cache and userdata. ej: (I'm sure there are better ways to create yaffs file systems, mkfs.yaffs? :P, but I tried fastboot it worked and I didn't care)

fastboot erase system
fastboot erase userdata
fastboot erase cache

6. Boot RA's recovery, or any other recovery that lets u unyaffs an image. You have to set the new SLP "partition" sizes, ej:

fastboot -c " mtdparts=msm_nand:0x00040000@0x024c0000(misc),0x00500000@0x026c0000(recovery),0x00280000@0x02bc0000(boot),0x0aa00000@0x02e40000(system),0x08200000@0x0d840000(cache),0x0a5c0000@0x15a40000(userdata) " boot recovery-RA-magic-v1.2.3H.img

7. Mount system and sdcard. ej

$ adb shell mount /system
$ adb shell mount /sdcard

8. flash the boot image and unyaffs the system image.

$ adb shell
# flash_image boot /sdcard/[path to the boot_bigmtd.img]/boot_bigmtd.img
# cd /system
# unyaffs /sdcard/[path to the system.img]/system.img
# cd /
# sync
# umount /sdcard
# umount /system

9. Reboot! Give the phone some time to boot, mine did. but YMMV. I saw something weird during the boot, before the 3rd splash (the one loaded from system), the phone displayed residual garbage from what was displayed right before the previous shut down.

Drawbacks:

- Fastboot theoretically (not tested yet) could wrack your system, as it still thinks that the system size is 92Mb.

- You have to be careful not to destroy the data of any of the modified partitions, by writing into it without the good MTD table

- U still have to get all the hardware working. I didn't try, but easy to do, get the 3.03.751.4's kernel config, that should take care of most of the things.

For more info, see:

http://xdaforums.com/showthread.php?t=542688

http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images