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

Search This thread

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
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
455
91
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
124
24
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
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
711
281
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
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
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
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
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
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
With Nook HD, try rebooting a few times with card installed see if it goes to cwm,
 
Last edited:

sorrowuk

Senior Member
Apr 5, 2011
311
72
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
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. :(
 

sorrowuk

Senior Member
Apr 5, 2011
311
72
Managed to get it to format sd card after I messed about formatting the sd card completely again and writing the cwm image
 

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
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
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:

Top Liked Posts

  • There are no posts matching your filters.
  • 84
    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.
    17
    Well, I guess the bad news is that latest B&N changes (from 2.0.6 drop) did not really fix emmc problems I see with U1 cards here, so I am not including those particular changes as they still seem to affect class4 cards negatively.

    Anyway, here's the new binary drop: cm-10-20130212-UNOFFICIAL-ovation.zip

    Changes: updated CM10 to now current version of the repo.
    - There seems to be some charging detection change and I am no longer sure if the display for charging status is reliable.
    - Wifi driver changes from B&N 2.0.6 drop - hopefully these will fix crashes/reboots when coming out of sleep (Please report your experience).

    In addition I am also releasing a different CWM/Initial installer based on the work from TWRP project.
    This is mainly aimed at people that are unable to somehow get their adb setup properly (mostly Windows people it seems).
    The big win of TWRP-based recovery (other than the large graphical and touch-based UI) is that it allows mounting sdcard as mass storage to allow easy transfer of install images.

    If you already have CM10 installed and just want to try new recovery, grab this file: twrp1.img and write it to your 1st partition on the sdcard under the name of "ramdisk.cwm" instead of the existing file with the same name.

    New installations, get sdcard-cwm-early5.img.gz image and write it to sdcard as per original initial image writing instructions.

    Boot from the sdcard (into recovery if existing install).
    (the steps below have a link to picture with whatever you supposed to press circled in red).
    First you'll see a TWRP splash.
    Then you will see initial menu -> press Mount
    In the Mount Menu, press on the Mount USB Storage button
    Now on your computer (with the Nook plugged) open the disk device that represents the Nook and you can place whatever image files you need there (the cm-10-XXXXXXXX-UNOFFICIAL-ovation.zip file in particular).
    Once you have placed all the files, do Eject/safe remove (that's very important!)
    Now, on the Nook, press the Unmount button
    Go back to the initial menu and press the Install button
    In the file listing menu, locate the file you want to install on the right and press it.
    Another screen will open that will let you add more installation files if you wish, once done, swipe your finger as shown to confirm installation.
    Installation will now begin
    Once installation is complete, press Reboot System button.

    Enjoy.
    13
    New snapshot: cm-10-20121228-UNOFFICIAL-ovation.zip

    Changes since last one:
    - converted to building kernel from source, updated kernel to AOSP 3.0.50
    * Added tuntap, cifs and nfs modules
    * Sound also appears louder, but that might just be my imagination, can somebody confirm?
    - Updated sgx binary blobs to a more recent snapshot
    * This restores hw scaling while rotating
    - Restored functionality of headphones (now both headphones (no microphone) and headsets (headphones + microphones) work (in my testing, anyway)).

    Switched to mtp as default device access from PC (old installs need that changed manually in storage properties), mtp seems to be working fine for me, provides access to both sdcard-sdcard and internal-sdcard. Oops in mtp_open should be gone now.

    (Those who build from source - manifest is not fully updated yet to auto-fetch source, so there are some hoops to jump through to set things up - see my note below get the source instructions in first post on what to do for now, or just uncomment module installation in device.mk and it will reuse my binary build).
    10
    Another update: cm-10-20130220-UNOFFICIAL-ovation.zip

    Changes:
    - reverted rng seeding that proved to be useless
    - reverted Z-axis in accelerometer (now rotation triggers at a less steep angle) - inspired by finding on Nook HD side of things (would be great if bokbokan was actually making his tree public so I won't need to reinvent the wheel).
    - Kernel change to not reboot from EMMC on crash (my limited testing shows it works, whenever it will work on crash coming out of sleep remains to be seen).
    - Switched back to omapzoom 3.0.31 jb kernel (from -dev version that had some trouble with scaling for me).
    - reverted frameworks commit that broke usb charging detection last time over.

    Edit: there's also another version with older gfx drivers that does not make games like beach buggy to crash, but is otherwise the same: cm-10-20130220-UNOFFICIAL-ovation-oldGFX.zip (a side effect for me at least seems to be very jerky boot animation).
    6
    Ok, here's the new binary build. cm-10-20121225-UNOFFICIAL-ovation.zip

    This release focuses on sound fixes, converted to building audio lib from source, now volume control works in real time (I tested in angry birds and youtube, both work). When trying to adjust volume on the home screen, there's still no confirmation sound (though there is when you are in settings->sound, so I wonder if that's how it supposed to be?)

    Headphones now work too (when there is a microphone on the headphones, it's not currently used, need to dig a bit more into it, that's the only sound issue that I know of ATM).

    Merry Christmas to you all.