So one of my friends bought a nook color this past week and I had a chance to play with it. I fell in love. Then once I found out ebay was having a $50 off special, I HAD to pull the trigger. I received it yesterday. It lasted all of about an hour before rooting.
I first updated to 1.1.0 at B&N’s nook site. Then I downloaded AutoNooter (http://forum.xda-developers.com/showthread.php?t=942424) and performed that. Once I was rooted I proceded to install the Kindle app along with some other niceties like ADW Launcher Ex.
I then had to try out HoneyComb (Android 3.0). This was as easy as downloading the SD Card Image (http://forum.xda-developers.com/showthread.php?t=936995) and dd’ing it to my card. Then sticking the card into the NC (NookColor).
I also installed ClockworkMod Recovery. In my rooted Stock NC Rom, I installed Rom Manager and used that to install the Recovery to “Nook Color” (not the OLD one).
Well I couldn’t leave well enough alone. I wanted to try out CM7 Nightlies without wiping my stock image. I didn’t go to bed till almost 5am … but I now have a procedure for installing cm7 AND honeycomb on the same sd card.
These instructions are very much experimental and YOU PERFORM THEM UNDER YOUR OWN RISK. I AM NOT RESPONSIBLE IF YOU BRICK YOUR NOOK COLOR.
Prereqs:
- gingerbread google-apps update zip (if you can’t find it, you shouldn’t be doing this)
- cm7 nightly update zip (ditto)
- uboot-mkimage installed
- Linux machine w/root access
- 2 to 8GB sd card
- adb communication with NC
Procedure:
- You first need to flash the honeycomb sd image to your sd card.
- You may be able to skip this step and copy them from the image if you can get losetup to create the block devices with offsets
- See “Accessing Specific Partitions in the Image” at http://wiki.edseek.com/guide:mount_loopback
- Mount partition 1 (vfat) and copy “uImage”, “uRamdisk”, “mlo”, “u-boot” somewhere safe
- DD partitions 2 and 3 somewhere save
<pre>dd if=/dev/mmcblk0p2 of=HC_Partition2.img bs=1M
dd if=/dev/mmcblk0p3 of=HC_Partition3.img bs=1M
- Partition your sd card:
- Delete all partitions
- Create a new primary partition 1. The size should be approx all but 2GB of the sd card (at least 64MB). Once created, ensure the number of blocks does not have a + after it. otherwise delete and change the cylinders by 1.
- Create primary partition 2. The number of cylinders should be 84
- Create primary partition 3. The number of cylinders should be 84
- Create an extended partition with the remainder of the drive
- Create a logical partition, 84 cylinders
- create a logical partition, 84 cylinders
- create a logical partition, remainder of drive
- The size of partition 2 and 3 should be “682762+” blocks, and 5 and 6 should be “682731” blocks
- Change type of partition 1 to “c” (Win95 FAT32 (LBA)”) (‘t’ then ‘1’, then ‘c’ commands)
- Make partition 1 bootable (‘a’ command)
- My partition table:
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p1 * 1 637 5116671 c Win95 FAT32 (LBA)
/dev/block/mmcblk1p2 638 722 682762+ 83 Linux
/dev/block/mmcblk1p3 723 807 682762+ 83 Linux
/dev/block/mmcblk1p4 808 992 1486012+ 5 Extended
/dev/block/mmcblk1p5 808 892 682731 83 Linux
/dev/block/mmcblk1p6 893 977 682731 83 Linux
/dev/block/mmcblk1p7 978 992 120456 83 Linux
- format partition 1: mkfs.vfat -F 32 -n boot /dev/mmcblk0p1
- Format partitions 5,6,6: mkfs.ext4 -m 0 /dev/mmblk0p5;mkfs.ext4 -m 0 /dev/mmblk0p6;mkfs.ext4 -m 0 /dev/mmblk0p7;
- DD Honeycomb partitions back
<pre>dd if=HC_Partition2.img of=/dev/mmcblk0p2 bs=1M
dd if=HC_Partition2.img of=/dev/mmcblk0p3 bs=1M
- Mount partition 1
- Copy the the mlo file you saved to partition 1
- Copy uImage to partition 1 but rename it uAltImg
- copy uRamdisk to partition 1 but rename it uAltRam
- Download the Boot Menu for nook color (http://forum.xda-developers.com/showthread.php?t=962708)
- Unzip and copy u-boot.img to “u-boot” to partition 1
- Download kernel and recovery-clockwork-[version]-encore.img from http://forum.xda-developers.com/showthread.php?t=971197
- Copy kernel to partition 1, rename to uRecImg
- Copy recovery-clockwork-[version]-encore.img to partion 1, rename to uRecRam
- umount partition 1
- put your SD card into your nook and reboot
- you should see a boot prompt to press any key within 5 seconds, do so
- Change to SD and recovery and boot – verify clockwork mod start
- Reboot
- Press key at boot menu and change to SD and Alternate and boot. should start honeycomb
- Now for the fun stuff modifying a CM7 image to install onto and boot from sd card
- Change install:
- mkdir cm7
- cd cm7
- unzip
- Edit META-INF/com/google/android/updater-script
- Change mmcblk0p5 to mmcblk1p5 (in script twice)
- Change mmcblk0p6 to mmcblk1p6
- cd ..
- We’ve updated the install, now we need to update the boot (unpack, edit, and repack the ramdisk)
- mkdir rd
- dd if=cm7/ramdisk.img of=ramdisk.gz bs=64 skip=1
- gunzip ramdisk.gz
- cd rd
- sudo su
- cpio -H newc -ivd < ../ramdisk
- Edit init.encore.rc
- Change mmcblk0p5 to mmcblk1p5
- Change mmcblk0p6 to mmcblk1p6
- Change mmcblk0p7 to mmcblk1p7
- find . -regex “./.*” | cpio -ov -H newc | gzip ../repacked-ramdisk.cpio.gz
- exit root shell
- cd ..
- mkimage -A ARM -T RAMDisk -n Image -d repacked-ramdisk.cpio.gz cm7/ramdisk.img
- Repackage zip:
- cd cm7
- zip -r ../cm7-sd.zip *
- Mount partition 1 and copy cm7-sd.zip and gapps.zip over
- Boot into recovery rom (CWM)
- READ READ READ – the next step is VERY IMPORTANT
- Prior to flashing you need to update fstab to point to the sd card – YOU MUST DO THIS OR YOU COULD MESS UP YOUR INTERNAL IMAGE!!
- adb pull /etc/fstab fstab
- Edit fstab
- change partitions
- Boot should be mmcblk1p1
- cache should be mmcblk1p7
- data should be mmcblk1p6
- system should be mmcblk1p5
- sdcard should be mmcblk1p1
- sd-ext should be mmcblk1p2
- (it may be possible to repack the clockwork mod ramdisk to have these changes, just follow the repacking ramdisk instructions but use the uRecRam image)
- Flash cm7-sd.zip
- Without rebooting flash gapps.zip
- Reboot. If you did everything you should boot into the CM7 nightly.
- Congrats, you now have CM7 and Honeycomb booting off the same SD card.
Things I know that might be broken:
- Google Maps.
- You can get this to work by editing /system/build.prop and changing the ro.sf.lcd_density to 161
- Market list of installed apps
- Once you get maps working:
- Go to manage applications in settings
- Select the market, uninstall the update
- Delete the data on ”Google Services Framework”
- reboot
- Clockwork Backup (it will try to back up sd-ext which is Honeycomb system’s partition)
Still haven’t added root to my honeycomb – but that should be easy – http://forum.xda-developers.com/showthread.php?t=941445