[NookHD+] CM10.1 native emmc install Now part of CM Nightlies

Search This thread

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
TN
linuxhacker.ru
By popular demand, I am bringing to you CM10.1 that you can install into Nook's internal ROM.
Note, this version totally overwrites your ROM, so back up everything important before proceeding. This is not a dual-boot solution as before, you do loose B&N ROM for good after installing this.
This is work in progress, yadda yadda.

Simplified instructions if instructions below don't work for you or you cannot follow them.
Get emmc-cwm-early2.1.img.gz, gunzip and write it to an sdcard of at least 1G in size (all content on that card will be lost).

Download CWM recovery (text) or TWRP recovery (gui) zip if you want internal recovery to be replaced with CM one (if you don't know what is it about, then you need ONE of these).

Also download latest binary zip from CM nightlies: http://download.cyanogenmod.com/?device=ovation

Add all these files + whatever other packages you might need right away on to the sdcard.

Boot from that sdcard, and install recovery (if desired) and the cm10.1 binary and whatever else you put there.

Erase /data (During initial install only. this is important to avoid crashes on bootup! Naturally, make sure you have copies of whatever important info from there).

unmount /sdcard and remove the card from the Nook. You might need to use this sdcard for your recovery needs in the future should EMMC content become badly damaged, so probably a good idea to have a copy of it somewhere.

Congrats, now on reboot you'll get into cm10.1 on your Nook HD+.
When you need to get into recovery, you can either do "reboot to recovery" in reboot menu (need to enable that in settings) or reboot the nook, and when you see original nook boot logo, press and hold power + home buttons for about 4 seconds.

If you plan to use USB Host feature, you will need a gender changer, as B&N decided not to release a special cable so far. The control to enable USBHost is in quick settings panel (slide down in the top right corner of the screen to bring it up). (QS controls are not available in CM nightly builds so you'll need to install the switcher app for now if you need it).

Known problems:
- Nook app reports incompatible in market (workaround1: just sideload it ; workaround2: change ro.product.device to nookhdplus in build.prop) - This is because they specifically blacklist Nooks! Note that workaround #2 will actually kill your sound, so revert back when you are done.
- Certain sdcards still remain unstable.
- Google Earth crashes when pressing "my location" button (but works fine otherwise).

Useful apps:

Overall loudness and volume control app: NookHDVolumeAdjuster-1.apk
Touch screen sensitivity control: NookTouchscreenSensitivityAdjuster-4.apk (backup link)
USB host control (not really needed, as you can use Quick Settings panel): USBHostSwitcher.apk


Changelog:
13/08/09 - We are official part of CM now, yay! Further updates will be at http://download.cyanogenmod.com/?device=ovation
13/08/01 - cm-10.1-20130801-UNOFFICIAL-ovation-emmc.zip
- Data usage display should work now
13/07/19 - cm-10.1-20130719-UNOFFICIAL-ovation-emmc.zip
- Picked some kernel fixes from omapzoom tree that I think would be useful for us too, this includes some voltage changes (decreases).
- Disabled hwui scissors optimization as it seems to be doing more harm than good.
- Reverted too greedy davlik vm settings
13/07/16 - cm-10.1-20130716-UNOFFICIAL-ovation-emmc.zip *Experimental*
- Update wifi drivers to R5.SP3.06
13/07/11 - cm-10.1-20130712-UNOFFICIAL-ovation-emmc.zip (backup link)
- Added Apple keyboard support
- Updated to CM-10.1.2 for security fixes
13/07/10 - cm-10.1-20130710-UNOFFICIAL-ovation-emmc.zip
- Updated to CM-10.1.1 for security fixes
13/07/08 - cm-10.1-20130708-UNOFFICIAL-ovation-emmc.zip
- NTFS and ExFAT support from upstream
13/07/06 - cm-10.1-20130706-UNOFFICIAL-ovation-emmc.zip
- redone touchscreen sensitivity changing mechanism. (app to control touchscreen sensitivity NookTouchscreenSensitivityAdjuster-4.apk)
13/07/04 - cm-10.1-20130704-UNOFFICIAL-ovation-emmc.zip
- upgraded to fixed SGX DDK [email protected] (this fixes Google Earth, and a bunch of games)
13/07/03 - cm-10.1-20130703-UNOFFICIAL-ovation-emmc.zip Experimental
- experimental touchscreen sensitivity change
- usb ids changed to match stock
- swap support enabled
13/06/30 - cm-10.1-20130630-UNOFFICIAL-ovation-emmc.zip
- Serial number is now visible in Android
- usb audio now actually works (only for output)
13/06/29 - cm-10.1-20130629-UNOFFICIAL-ovation-emmc.zip
- in-kernel bluetooth
13/06/26 - cm-10.1-20130626-UNOFFICIAL-ovation-emmc.zip Experimental
- cpu frequency changes for screen on scenario, new sgx binary blobs.
13/06/24 - cm-10.1-20130624-UNOFFICIAL-ovation-emmc.zip
- more kernel drivers for bt hid, usb 3g modems and gps devices
13/06/15 - cm-10.1-20130615-UNOFFICIAL-ovation-emmc.zip
- WiFi Direct and BT tethering are now working
- /sdcard now points to internal storage.
13/06/13 - cm-10.1-20130613-UNOFFICIAL-ovation-emmc.zip
- Boosted speaker volume. If you do not like new loud volume, flash this reversal zip after every ROM update: quietvolume-2.zip
- zinio now should work out of the box
13/06/11 - cm-10.1-20130612-UNOFFICIAL-ovation-emmc.zip
- Fixed HDMI audio
- Added USB audio support
13/06/08 - cm-10.1-20130608-UNOFFICIAL-ovation-emmc.zip
- Fixed nav bar settings crash
13/06/05 - cm-10.1-20130605-UNOFFICIAL-ovation-emmc.zip
- USBHost access is now conveniently located in QuickSettings. (IF you use some mod that disables quick settings, you still need my old ugly USBHost switcher app, just sideload it).
- now any (one at a time) usb storage should be automounted no matter how you plug it.
13/06/02 - cm-10.1-20130603-UNOFFICIAL-ovation-emmc.zip
- Forced USB Host support.
13/05/30 - cm-10.1-20130530-UNOFFICIAL-ovation-emmc.zip
- No Nook-specific changes, based on CM10.1-RC3
13/05/27 - cm-10.1-20130527-UNOFFICIAL-ovation-emmc.zip
- Fixed microphone input volume
- Kernel change to hopefully better work with some sdcards.
13/05/12 - cm-10.1-20130512-UNOFFICIAL-ovation-emmc.zip
- Fixed A2DP audio
- Fixed booting when not connected to PC/charger.
13/05/11 - cm-10.1-20130511-UNOFFICIAL-ovation-emmc.zip
- Should fix sgx crash on startup for those affected -- not.
- Cover close now should sleep the device (please test)
- Updated screen properties to highdpi (though that did not fix Nook app compatibility in market)
- Baselined on CM10.1-RC2
13/05/10 - cm-10.1-20130510-UNOFFICIAL-ovation-emmc.zip
- Wifi battery drain should be gone now.
13/05/05 - cm-10.1-20130505-UNOFFICIAL-ovation-emmc.zip
- Fixed mmc presentation, BT, sdcard mounting.
13/05/04 - cm-10.1-20130504-UNOFFICIAL-ovation-emmc.zip initial release.
 
Last edited:

sorrowuk

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

Verygreen, I am interested how this boots without sdcard as before the expliot worked because B&N left dev code to boot a kernel from sd card.

What exploit is used to boot from internal since sdcard isn't used.

Also I don't think cm10 is needed really.

I think its best to put the work into cm10.1 as its the latest platform and try bring that up to the same stage as cm10.
 

HiddenG

Senior Member
Nov 5, 2011
160
46
Manchester
Wow, thank you once again verygreen! Thank you so much for your efforts! :)

I'm just wondering, does this overwrite the stock ROM, this no dual boot? Also, are there any performance differences?

Regardless, appreciate your efforts once again! :)
 

lchen5

Senior Member
Nov 27, 2010
58
1
Wow, thank you once again verygreen! Thank you so much for your efforts! :)

I'm just wondering, does this overwrite the stock ROM, this no dual boot? Also, are there any performance differences?

Regardless, appreciate your efforts once again! :)

Is the reboot to 99% problem solved ? This is the biggest issue to me.
 

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
TN
linuxhacker.ru
Verygreen, I am interested how this boots without sdcard as before the expliot worked because B&N left dev code to boot a kernel from sd card.

What exploit is used to boot from internal since sdcard isn't used.

Same method as Bauwks, B&N forgot to fix it, they fixed some other possible vectors only.
I was holding to this knowledge hoping that it would be useful on next B&N reader, but it does not look like they'll release another omap-based one, so no need to keep suffering anymore.
So here's hope whatever they release next, the debugging code will remain in place ;)

I'm just wondering, does this overwrite the stock ROM, this no dual boot? Also, are there any performance differences?

Yes, this does overwrite stock ROM, so no dualboot.
While it's possible to perform some hair-splitting by putting multiple kernels into boot partition, that's quite a bit of hassle + all the /data splitting, so I decided to not go that way, at least yet.

There are performance differences. I did not perform any real studies, but I was shocked at how fast the install phase in cwm works compared to sdcard.
 
  • Like
Reactions: arh2o and fattire

aszid

Senior Member
May 20, 2011
79
9
Portland, OR
Awesome

I've gotten this loaded up this morning, haven't done a whole lot with it as of yet, but it did boot right up :)

I have noticed one thing that is not working correctly, specifically the sd card. It's reported as not mounted.
 

leapinlar

Senior Member
Oct 18, 2006
8,873
3,876
I've gotten this loaded up this morning, haven't done a whole lot with it as of yet, but it did boot right up :)

I have noticed one thing that is not working correctly, specifically the sd card. It's reported as not mounted.
Yes, I was just going to post that. Verygreen forgot to change the vold.fstab file from the sdcard version to emmc version.

Go to /system/etc/ and edit the vold.fstab file to say "/storage/sdcard1 auto" instead of "/storage/sdcard1 5". Just change the 5 to an auto. Then reboot and it should be ok.

Sent from my Nook HD+ running CM10 on Hybrid SD
 
Last edited:

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
TN
linuxhacker.ru
Yes, I was just going to post that. Verygreen forgot to change the vold.fstab file from the sdcard version to emmc version.

Go to /system/etc/ and edit the vold.fstab file to say "/storage/sdcard1 auto" instead of "/storage/sdcard1 5". Just change the 5 to an auto. Then reboot and it should be ok.
It's always the small things that gets forgotten, sigh.
I knew I needed to update that, but did not find it at 4am. Now it's in my tree, so next version will have it fixed.

Also need a better way to write sdcard image, I guess, without uploading a whole gig or so of zeros which will get slow. I tried to put in some shortcuts to minimize the write area, but failed so far. Since everything is in the same partition, changing stuff on the fly is hard.
Perhaps a solution where we only use sdcard as means to do initial bootstrap and write correct recovery and use /data/media as the actual sdcard would be better after all.
 
Last edited:

jentous

Member
Apr 22, 2009
14
0
Follow up question

Could one of you guys explain a method of going back to stock from this? What I mean, is it possible to install Leapinlar's version 2.1 back to the emmc using the recovery used to install this emmc-based CM 10.1? If you suggest that we backup before installing this ROM does that mean that we can use that backup to restore the stock we have on emmc now back to emmc if this were not to work out well?
 

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
TN
linuxhacker.ru
Could one of you guys explain a method of going back to stock from this? What I mean, is it possible to install Leapinlar's version 2.1 back to the emmc using the recovery used to install this emmc-based CM 10.1? If you suggest that we backup before installing this ROM does that mean that we can use that backup to restore the stock we have on emmc now back to emmc if this were not to work out well?
For restore (note, I did not really test any of these steps, but that's how it should unfold):
boot into recovery image from sdcard you made at the beginning.
Upload the backup boot image there (adb push mmcblk0p4 /tmp)
then do adb shell and in there write the image in place:
dd if=/tmp/mmcblk0p4 of=/dev/block/mmcblk0p4 bs=1048576

then do:
mount /bootdata ; rm /bootdata/BootCnt
The removal of BootCnt will tell stock u-boot to force factory restore.

now remove sdcard and reboot, the Nook will do factory restore and you are back to some sort of early 2.0.0 B&N release.
 

leapinlar

Senior Member
Oct 18, 2006
8,873
3,876
It's always the small things that gets forgotten, sigh.
I knew I needed to update that, but did not find it at 4am. Now it's in my tree, so next version will have it fixed.

Also need a better way to write sdcard image, I guess, without uploading a whole gig or so of zeros which will get slow. I tried to put in some shortcuts to minimize the write area, but failed so far. Since everything is in the same partition, changing stuff on the fly is hard.
Perhaps a solution where we only use sdcard as means to do initial bootstrap and write correct recovery and use /data/media as the actual sdcard would be better after all.
I've been trying to examine what you have done here, and have most of it figured.

That CM zip is pretty straight forward where it just flashes the rom to emmc /system and replaces the boot.img.

The CWM looks straight forward too, but you must use the empty file for something and I can't quite figure that. I thought maybe you were using it to mount something on emmc but I see no code to do that in the ramdisk. You might have the code in a customized init binary. Recovery looks like just a normal 6.0.3.2 recovery from CM.

A suggestion on the CWM recovery.fstab. Change the boot partition fstype from vfat to emmc and backup/restore will handle it properly. And change the emmc to datamedia and /dev/null instead of vfat and 0p10. That way the emmc media partition will mount properly.

Sent from my Nook HD+ running CM10 on Hybrid SD
 
Last edited:
  • Like
Reactions: verygreen

verygreen

Senior Member
Feb 13, 2011
1,305
2,637
TN
linuxhacker.ru
That CM zip is pretty straight forward where it just flashes the rom to emmc /system and replaces the boot.img.
Yes, it's pretty straight-forward, and that was one of the goals. Unlike Kindle where you need to jump through some crazy hoops due to Amazon design decisions, Nook is significantly more relaxed.

The CWM looks straight forward too, but you must use the empty file for something and I can't quite figure that. I thought maybe you were using it to mount something on emmc but I see no code to do that in the ramdisk. You might have the code in a customized init binary. Recovery looks like just a normal 6.0.3.2 recovery from CM.
The recovery IS straighforward, there's no modified init or anything like that. I am not sure what empty file do you refer to.
The only difference between this CWM and sdcard cwm for sdcard installs are: removed repartitioning code in postboot script and updated fstab to point back at emmc.

A suggestion on the CWM recovery.fstab, change the boot partition fstype from vfat to emmc and backup/restore will handle it properly. And change the emmc to datamedia and /dev/null instead of vfat and 0p10. That way the emmc media partition will mount properly.
Aha, thanks. I'll try this and it'll probably solve the remaining CWM problems for me.
Also need to do twrp image, I guess.
 

leapinlar

Senior Member
Oct 18, 2006
8,873
3,876
The recovery IS straighforward, there's no modified init or anything like that. I am not sure what empty file do you refer to.
I'm talking about the "file" in the recovery image. It is about 950MB and all zeros.

And if you make those mods to the recovery.fstab, then users can use that CWM to reflash back to stock using the B&N zips.
 

leapinlar

Senior Member
Oct 18, 2006
8,873
3,876
Could one of you guys explain a method of going back to stock from this? What I mean, is it possible to install Leapinlar's version 2.1 back to the emmc using the recovery used to install this emmc-based CM 10.1? If you suggest that we backup before installing this ROM does that mean that we can use that backup to restore the stock we have on emmc now back to emmc if this were not to work out well?
Based on what verygreen said in the posts above, you should be able to use my stock CWM SD to both backup and restore his new setup. And you can restore an earlier backup of stock too. You can use my 2.1 zip on my thread to put the new stock on if you want replacing his CM10.1 on emmc.

Thanks verygreen, you are awesome!

EDIT: Yes! I just flashed verygreen's new CM10.1 emmc to my internal memory using my stock CWM SD. Worked perfectly.
 
Last edited:

jentous

Member
Apr 22, 2009
14
0
Got it going

Thanks Verygreen and Leapinlar.

I got it installed and I saved the boot partition just in case. I hopefully will not be needing to restore, but it is nice to know that I can.
The installed ROM appears snappy and I will report back any issues I discover.
 

aszid

Senior Member
May 20, 2011
79
9
Portland, OR
my sdcard is working great after updating the mount. Thanks!


Based on what verygreen said in the posts above, you should be able to use my stock CWM SD to both backup and restore his new setup. And you can restore an earlier backup of stock too. You can use my 2.1 zip on my thread to put the new stock on if you want replacing his CM10.1 on emmc.

Thanks verygreen, you are awesome!

EDIT: Yes! I just flashed verygreen's new CM10.1 emmc to my internal memory using my stock CWM SD. Worked perfectly.

I just uploaded emmc-cwm-early2.img.gz with fixed recovery.fstab and a zero file removed as well.

Is there any effective difference between the 2 recoveries? That is.. is there any reason i should be bothering to keep 2 different recovery SD cards?


Thanks for all the great work!
 

Top Liked Posts

Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone