Nook HD+ CM10 development (sdcard) updated 5/11

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
0
TN
linuxhacker.ru
Finally here it is, the long awaited CM10 for Nook HD+ (early snapshot, anyway).

This codebase is currently hardcoded to work from sdcard only.

How to build from source (you need to meet all the usual cm10 build prerequirements),
Get the source:
Code:
mkdir android/system
cd android/system
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/repo
chmod a+x ~/repo
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
wget -O .repo/local_manifest.xml https://github.com/verygreen/android_manifests/raw/master/ovation-jb/local_manifest.xml
repo sync -j16
(device repo on github)
(temp kludge for source kernel build: get my kernel from https://github.com/verygreen/green_kernel_omap and put it to kernel/bn/ovation (use ovation-3.0 branch for 3.0.31 kernel or ovation-aosp-kernel for 3.0.50), then put B&N source distro copies of wlan and wpan kernel dirs to external inside of kernel dir, and also desired version of sgx proprietary-open tar file into external/sgx)

Build:
Code:
. build/envsetup.sh
lunch cm_ovation-userdebug
. vendor/cm/get-prebuilts
mka bacon
In the out/target/product/ovation output dir you'll have the update file generated: cm-10-XXXXXXXX-UNOFFICIAL-ovation.zip

If you do not want to build from source, here's my current (as of this post, see bottom for newer versions) binary snapshot: cm-10-20130511-UNOFFICIAL-ovation-sdcard.zip
(additionally there's emmc version, follow installation instructions here, but use this install file: cm-10-20130511-UNOFFICIAL-ovation-emmc.zip)

You will also need updated cwm image: sdcard-cwm-early4.img.gz

For first time install only
(you will need 4G or bigger sdcard, smaller ones are not supported and not tested):
gunzip cwm image and write it to your sdcard (entire sdcard not just one partition of it), use either dd on Linux/MacOS or Win32 Image Writer for those impaired by Windows. Make sure to use sdcard rated for fast small IO for best results.

(Note: There is now experimental recovery image that does not require adb that's currently documented in this post)

Insert the card into the Nook and reboot the nook, CWM should start.
(This will also automatically repartition the card into a correct layout no matter the size (but no smaller than 4G).
In the CWM:
Go to "mounts and storage", choose "mount /sdcard".
Press power button to go back to the main menu.
Now do
Code:
adb push cm-10-XXXXXXXX-UNOFFICIAL-ovation.zip /sdcard
Also push whatever other zip files you want to install to /sdcard too.
(if you don't have operational adb, you can also just turn off the nook at this stage, put zip files to volume named "CM10SDCARD" (not "boot"), then put sdcard back into nook and start it again)

Next, choose "install zip from sdcard", and then "Choose zip from sdcard" and first cm-...zip, and then whatever other packages you have the need to install.

When done installing, press the power button to go one level up in the menu and then choose reboot.
This will reboot you into CM10.

If you ever need to get back to CWM later, use either "reboot to recovery" power menu, or reboot, and once B&N nook logo shows up, press and hold power and home keys together for about 4 seconds.
To reboot into stock nook software, just poweroff, remove sdcard, then poweron.

Caveats:
- Current sdcard layout is ~800M system and ~900M data for less than 16G and 2G data for 16G+ cards, the rest is a separate sdcard (because having sdcard to live on data is kind of dangerous). I am still taking feedback on these sizes better to change these early on while there are not a lot of users.
- This snapshot uses B&N binary kernel from 2.0, it happens to oops in mtp_open if you have mtp storage mode enabled and plug into a computer, so steer clear of it for now I guess, this will be fixed later. (if your nook reboots when plugged into computer or right on boot while plugged - this is it, likely to happen after first install).
- /cache is shared with stock ROM, helps for slower sdcards at the expense of slower boots when you switch your OS from stock to CM10 or back.
- Upgrade from 20121209 snapshot note: that snapshot had bad kernel that had problems with sdcards. Most advisable thing is to redo entire install (after downloading new, cwm-early3 image first). You might also be able to just install kernel from the update.zip and write it to the first partition on the sdcard, that shuld also fix all issues and will let your existing cwm to work to flash this new image.

Things that I know are not working:
- Coming out of sleep sometimes there's a crash (this is related to wifi, the workaround is to disable wifi while sleeping in the options).
- Rebooting to stock with sdcard still in causes stock to hang at 99% booting and sit there, simply pop out the sdcard and it will finish booting.
- on-headphones microphone is not currently used even if present (I now believe this is actually not a bug, and stock has the same behavior).
- Bluetooth signal strength is very low
- Hulu+ and other such things requiring DRM do not work.

This is now at feature-parity with stock B&N ROM, I believe (other than DRM).

Experimental versions:
Other than the stable version above, there are some experimental versions below that are tested before (hopefully) being promoted to the stable status.
01/07 version with a different kernel, otherwise same as 12/31
01/08 version with a recompiled B&N kernel, otherwise same as 12/31
01/19 version with a yet another different kernel, updated CM10 base and default dpi/screen size changes
02/12 Some CM10 changes from upstream and updated wifi drivers from B&N 2.0.6 code drop (hoping that it will fix the annoying coming out of suspend crash - nope, it did not.)
02/20 Don't reboot into emmc stock on crash, it does us no good. Revert Z-axis in accelerometer for hopefully better responsiveness.
wifi should no longer drain battery when sleeping, cover close will blank screen, gfx issues hopefully fixed
Enjoy.
 
Last edited:

tebra

Senior Member
Dec 8, 2010
454
91
0
Thanks for that.
One question before try it:
formating /sdcard from CWM will not format the internal "sdcard" directory of the Nook?
 

ArcSmurf

Senior Member
Jan 3, 2012
115
24
0
Bristol
Many thanks for this, got it working for some reason the format sdcard step seemed to fail - but got it working by manual format under linux.

Now have gapps and everything else I need installed - so will play with it later but so far seems to run very smooth.

Agree that seeing nook internal storage would be good
 

dbh369

Senior Member
Nov 4, 2007
810
112
0
Philadelphia
Wow, fantastic, will try it tonight. Just checking, no problem using 64G card? Also, I'm assuming for the moment it leaves the complete data structure in tact on the B&N internal memory? Just mostly not mounted? Reason I ask is its a shortcut to get the apps that are already installed there, especially the B&N specific ones. Otherwise I could pull with ADB.

Thanks again!
 

someone0

Senior Member
May 5, 2010
710
280
83
Caveats:
- Current sdcard layout is ~800M system and ~900M data, the rest is a separate sdcard (because having sdcard to live on data is kind of dangerous). I am taking feedback on these sizesm better to change these early on while there are not a lot of users.
- There's no access to "sdcard" on internal nook drive, though this could be organized if people think that's useful.
- This snapshot uses B&N binary kernel from 2.0, it happens to oops in mtp_open if you have mtp storage mode enabled and plug into a computer, so steer clear of it for now I guess, this will be fixed later. (if your nook reboots when plugged into computer or right on boot while plugged - this is it).
- /cache is shared with stock ROM, helps for slower sdcards at the expense of slower boots when you switch your OS from stock to CM10 or back.
Nice, just some quick questions here.
when you said build, I assume you means cross-compile, right? I know most people are not gonna compile stuff themself, and just use the binary. But so people know if they wanna learn since x86 and arm are different architecture. Just compiling from x86 isn't gonna work.

I agree the size is a bit bloated ATM. Even the gigantic Galaxy Note 2 is about that size also.

The access to internal SD can be useful. Assuming you brought 32GB version of Nook, then you have like 25GB+ worth of storage sitting there. If possible it should be mounted(only old /mnt/sdcard area), whether that be to /mnt/sdcard or /mnt/int_sdcard

I notice you build this based on JB version of android, which is what 4.1 or 4.2? But still using the B&N kernel which is 4.0.4? I'm sure some of the stuff works. I made that mistake as well when attempt to put Play market on the nook earlier.

Thanks for your hardwork.
 

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
0
TN
linuxhacker.ru
Nice, just some quick questions here.
when you said build, I assume you means cross-compile, right? I know most people are not gonna compile stuff themself, and just use the binary. But so people know if they wanna learn since x86 and arm are different architecture. Just compiling from x86 isn't gonna work.
Yes, it's cross-compiling, which is still building.
The cm repos provide necessay cross-compilers and all that stuff, though.

I agree the size is a bit bloated ATM. Even the gigantic Galaxy Note 2 is about that size also.
So the better sizes are?

I notice you build this based on JB version of android, which is what 4.1 or 4.2? But still using the B&N kernel which is 4.0.4? I'm sure some of the stuff works. I made that mistake as well when attempt to put Play market on the nook earlier.
build is based around 4.1.2.
B&N kernel is pretty much inline with JB (3.0.31), so it works pretty well (other than the mtp_open oops). I'll switch to building it from source anyway, but this will take some time.
 

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
0
TN
linuxhacker.ru
Wow, fantastic, will try it tonight. Just checking, no problem using 64G card?
I don't have anything this big, so only tried 16G. ;)

Also, I'm assuming for the moment it leaves the complete data structure in tact on the B&N internal memory? Just mostly not mounted?
Mostly. /cache is shared so this one is modified.
Also to get recovery we are reusing stuff in /bootdata (BCB and boot counter).

Reason I ask is its a shortcut to get the apps that are already installed there, especially the B&N specific ones. Otherwise I could pull with ADB.
You should not be sharing apps between the two, they might be different version too, anyway.
 

jay_ntwr

Senior Member
Dec 1, 2006
70
13
8
Is there any reason to think this would not work on the NOOK HD as well? I understand that the reason it may have not been tested is that no one is willing to test it, but if it "should work" then I'd be willing to purchase the HD and test and report results.

Verygreen, thank you for all your continued hard work with the CM/NOOK bases.
 
  • Like
Reactions: palibuckeye

sorrowuk

Senior Member
Apr 5, 2011
311
72
0
Thanks for this.

A few things , you are maybe already thinking of implementing these:

1. It would be good if you could dual boot both systems with a menu or holding a volume button to boot to stock nook os, instead of having to take out the sd card, save a bit of time and ease (the slot is quite hard to open )

2. Access to internal storage would be good. I have 32gb nook, so not being able to use 25gb of free space on the internal storage is not great, but I'm sure its quite easy to fix. Is it just a matter of mounting it correctly ?

Everything seems great, with the tearing issue do you know what the problem is ?
 
Last edited:

CelticWebSolutions

Senior Member
May 25, 2011
855
2,012
133
Is there any reason to think this would not work on the NOOK HD as well? I understand that the reason it may have not been tested is that no one is willing to test it, but if it "should work" then I'd be willing to purchase the HD and test and report results.

Verygreen, thank you for all your continued hard work with the CM/NOOK bases.
I could be proved wrong but I don't think it will work for you on a HD. It doesn't work on a HD for me....
 

sorrowuk

Senior Member
Apr 5, 2011
311
72
0
Many thanks for this, got it working for some reason the format sdcard step seemed to fail - but got it working by manual format under linux.

Now have gapps and everything else I need installed - so will play with it later but so far seems to run very smooth.

Agree that seeing nook internal storage would be good
I got this problem too, format sdcard from cwm doesn't work.

It says Failed to mount /sdcard ... Skipping format ..

How did you fix ?
 

HiddenG

Senior Member
Nov 5, 2011
160
46
0
Manchester
Really loving your efforts! Damn, thank you very much! I'll see if I can contribute soon, after I get my new computer. Can't wait for CM10 on HD+, it'll actually utilise the Nook HD+'s potential. It's dual-core, it can playback full HD, but it's limited by software. :(
 

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
0
TN
linuxhacker.ru
Is there any reason to think this would not work on the NOOK HD as well? I understand that the reason it may have not been tested is that no one is willing to test it, but if it "should work" then I'd be willing to purchase the HD and test and report results.
Yes, this will not work on the nook HD directly, that has different uboot, different kernel and different SoC (not to mention different display).
 
May 10, 2012
35
6
0
Indiana
I can't get /sdcard to mount or format no matter what I do. I'm using Windows, which seems to always be a hindrance in the root community.

Also, I'm fairly certain the the Nook HD+ processor (OMAP 4470) is a dual-core. Besides the main cores it has the two ARM Cortex-M3 cores, but it is still technically a dual-core processor.

PS- I'm running the Nook HD+ 16GB. Could the 16GB vs. 32GB cause any issues? Just wondering.
 
Last edited: