Freeing a Nook Tablet from the bonds of slavery.
So, my wife has a Nook Tablet. I bought it for her a little under 2 years ago as a gift, and she loves it. She's a big reader, and this thing has done a great job of feeding her addiction. Over the time she's owned it, she's asked me to install certain apps on it, some of which we just plain couldnt. See, the Nook is an android tablet, but it's extremely limited. It doesn't have the standard Android Play Store. And it wont let you install any apps not signed by Barnes and noble. Which is a shame, its a decent device otherwise. I've kept my hands off of it thus far, but tonight, were going to attempt to free it from its opression.
I have owned a number of android devices over the years. Every one of them was quickly rooted, and replaced with CyanogenMod. My incredible ran CM7, my Droid4 got CM9, and then CM10, and my curent Galaxy Nexus and Nexus 7 are both running CM10.1. So, I'm going to try to install CM10.1 on an SD Card, and then boot the Nook Tablet from it. This is nothing new, others have done it already, and I'm just following in their footsteps.
I'm using this XDA thread as a guide.
I'm going to attempt to do all of this from linux (surprise!), even though the guide is written for Windows.
Partition your SD card
I'm using gparted to create the partition table on the sd card. The howto said to create 4 partitions, in this order.
boot - 512M fat32 (bootable)
system - 512M ext4
data - 2GB ext4
My 16gb sd card ended up with:
[war@kenshin ~]$ sudo fdisk -l /dev/sde [sudo] password for war: Disk /dev/sde: 15.9 GB, 15931539456 bytes, 31116288 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x00024119 Device Boot Start End Blocks Id System /dev/sde1 * 2048 1050623 524288 b W95 FAT32 /dev/sde2 1050624 2099199 524288 83 Linux /dev/sde3 2099200 6293503 2097152 83 Linux /dev/sde4 6293504 31115263 12410880 b W95 FAT32
Populate the SD card
Download the boot image here.
Then decompress the archive
[war@kenshin nooktablet]$ unzip ~/Downloads/boot.zip Archive: /home/war/Downloads/boot.zip creating: boot/ inflating: boot/flashing_boot.img inflating: boot/flash_fix_recovery_bootloop.zip inflating: boot/MLO inflating: boot/recovery.img inflating: boot/u-boot.bin
Now, we need to copy MLO, u-boot.bin, and flashing_boot.img to boot.
[war@kenshin nooktablet]$ mkdir mnt [war@kenshin nooktablet]$ sudo mount /dev/sde1 ./mnt [sudo] password for war: [war@kenshin nooktablet]$ sudo cp boot/MLO boot/u-boot.bin boot/flashing_boot.img mnt/ [war@kenshin nooktablet]$
Now, download from cm_acclaim_10.1_[ddmonthyear]_HD_SDC.zip and gapps-jb-20130301-signed-SDC.zip here. Theyre toward the bottom of the page, listed as the sdcard version of the rom.
Put both of these files on boot as well.
[war@kenshin nooktablet]$ sudo cp ~/Downloads/gapps-jb-20130301-signed-SDC.zip ~/Downloads/cm_acclaim_10.1.0_29JUN2013_HD_SDC.zip mnt/ [sudo] password for war: [war@kenshin nooktablet]$ ls mnt cm_acclaim_10.1.0_29JUN2013_HD_SDC.zip gapps-jb-20130301-signed-SDC.zip u-boot.bin flashing_boot.img MLO
Now, decompress cm_acclaim_10.1.0_xxx_SDC.zip, we need to grab the boot.img and recovery.img.
flashing_boot.img MLO [war@kenshin nooktablet]$ unzip mnt/cm_acclaim_10.1.0_29JUN2013_HD_SDC.zip Archive: mnt/cm_acclaim_10.1.0_29JUN2013_HD_SDC.zip signed by SignApk inflating: META-INF/com/android/metadata inflating: META-INF/com/google/android/update-binary inflating: META-INF/com/google/android/updater-script inflating: boot.img inflating: recovery.img inflating: system/addon.d/50-cm.sh inflating: system/addon.d/blacklist inflating: system/app/Apollo.apk inflating: system/app/ApplicationsProvider.apk inflating: system/app/BackupRestoreConfirmation.apk ... snip ... inflating: META-INF/MANIFEST.MF inflating: META-INF/CERT.SF inflating: META-INF/CERT.RSA inflating: META-INF/com/android/otacert [war@kenshin nooktablet]$ ls boot boot.img META-INF mnt recovery.img system [war@kenshin nooktablet]$ sudo mv boot.img recovery.img mnt/ mv: failed to preserve ownership for ‘mnt/boot.img’: Operation not permitted mv: failed to preserve ownership for ‘mnt/recovery.img’: Operation not permitted [war@kenshin nooktablet]$
Boot now looks like this:
[war@kenshin nooktablet]$ ls mnt boot.img gapps-jb-20130301-signed-SDC.zip u-boot.bin cm_acclaim_10.1.0_29JUN2013_HD_SDC.zip MLO flashing_boot.img recovery.img
Boot from the sd
Now, eject the sd card, and put it into the nook tablet. BN has hidden the sd card slot in a little door behind that silly loop at the lower left of the tablet.
To boot from the sdcard, do the following.
Power off the Nook Tablet, by holding the power button, and selecting power off.
Once the screen is black, plug the Nook Tablet into AC power using the stock adapter and cable.
The device will start to power on, on its own. A logo for CyanBoot will come up, when it does, press and hold the N button on your Nook Tablet.
You'll get a boot meny, select SDC recovery. Vol up/down to select, and the n button to activate.
Once in recovery, you need to install the rom, and gapps.
Select install zip from sd card, and browse for the cm_acclaim_10.1.0_29JUN2013_HD_SDC.zip, let it install.
Then do the same for gapps-jb-20130301-signed-SDC.zip
Once its done, power the device off by holding the power button.
Now, we should be good to go.
Unplug the power, and plug it back in, the boot process should start again.
This time, press and hold n at the cyanboot, and select boot from SDC instead of SDC recovery
CM will now boot up, as you'd expect it to.
Booting for daily use
So, you're about to ask me, do i really need to plug in my tablet every time i want to boot it up?
No, you dont, turns out that as long as the sd card is in there, it'll by default boot off of the sd, and give you the option to get intot cyanboon. It boots cm10 by default, and you can boot it off of the internal nook standard storage by holding the n, and selecting internal boot.
The rom installed in this tutorial is not stock CM10. I'm going to look into that.