• If you are experiencing issues logging in, we moved to a new and more secure software and older account passwords were not able to be migrated. We recommend trying to reset your password, then contacting us if there are issues.
  • Nearly done! Migration cleanup is mostly done. There are a small number of issues left that we continue to work on, but all the heavy lifting is done. We still would love to hear feedback over at this thread and also check out the new XDA app! Thanks and we hope you enjoy the new forums, and thanks for your support of XDA <3

CM-13.0 Work-In-Progress

drmarble

Senior Member
Jul 27, 2011
344
1,003
93
I have made a cm-13.0 rom for the encore tablet. It will probably never become official because of some hacks required for our boot process. It also does not have SElinux set to secure which is a requirement for official status. Still, it works well. I have been discussing it over in the cm-11 thread: http://forum.xda-developers.com/showthread.php?t=1370873
It works fairly well. It even lets you do the new marshmallow multiple windows as you can see by this screen shot.

Its performance is a bit slower than cm-11.0. Installing many Google gapps slows it to a crawl. Just about everything works. The first boot is slow. I disables the boot animation so it just sits on a blank screen for about 1/2 hour. You can use adb logcat to see that it is running.

I am not posting a ROM yet but am encouraging user builds. This is continuing the tradition of fattire and eyeballer. If folks ask politely, I will post a rom.

Continuing build discussions from the cm-11.0 thread:
We no longer need a custom compiler for the kernel. Some changes from sluo fixed that.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="drmarble/android_external_alsa-lib" path="external/alsa-lib" remote="github" revision="encore-cm-13.0" />
  <project name="drmarble/android_hardware_alsa_sound" path="hardware/alsa/sound" remote="github" revision="cm-12.1" />
  <project name="drmarble/android_device_bn_encore" path="device/bn/encore" remote="github" revision="wip-cm-13.0-f" />
  <project name="drmarble/android_kernel_bn_encore" path="kernel/bn/encore" remote="github" revision="wip-cm-13.0-c" />
  <project name="drmarble/proprietary_vendor_bn" path="vendor/bn" remote="github" revision="cm-12.1-wip" />
  <remove-project name="platform/hardware/ti/omap3" />
  <project name="drmarble/android_hardware_ti_omap3" path="hardware/ti/omap3" remote="github" revision="encore-cm-13.0-wip-a" />
</manifest>
Build is now changes with a patch rather than a new tree. This makes updating for cm changes easier. I just repo sync the cm source and apply my patches before building. Most patches are available from gerrit but have been abandoned so you need to use the special command repopick -f <12xxx23> to force the use of an abandoned patch. I just downloaded the patch to my pc and use git am <patchname> to apply it. I am attaching a zip file containing the patch files that I use. Put the 0001*.patch files into the appropriate directories. Below is a part of a shell script that shows both methods of applying patches.

Code:
#!/bin/bash

export CM_EXTRAVERSION=myown--encore-udb
export CM_EXPERIMENTAL=test
export CM_BUILDTYPE=EXPERIMENTAL

#first, a couple of good unmerged (never to be merged) changes
#fix reboot recover
repopick 115693
# adb insecure by default
repopick 120393

# Revert "libion: Turn on -Werror"
pushd system/core
git am 0001-Revert-libion-Turn-on-Werror.patch
popd
#or just use
#repopick -f 120433

# core: fix custom make recovery patch scripts
pushd build/core 
git am 0001-core-fix-custom-make-recovery-patch-scripts.patch
popd
#or just use
#repopick -f 120557

# core: copy installed ramdisk and bootloader to BOOT/
pushd build
git am copy_installed_ramdisk_and_bl_to_BOOT.patch
popd
#or just use 
#repopick -f 120558

#not necessary but these shrink the .zip so I can use sideload
pushd vendor/cm
git am 0001-My-zip-file-names-and-fewer-apps-and-sounds-for-enco.patch
popd

pushd external/noto-fonts
git am 0001-Remove-noto-fonts.patch
popd

#pause
read -p "press [enter] to continue..."

lunch cm_encore-userdebug

time make -j9 bacon 2>&1 | tee make.log ; rm -r /tmp/targetfiles-??????
# I don't like that file removal but the build process fills up /tmp and problems can ensue.
Note that this requires you to repartition your device. System is just way too small. I use 1gig for system but it should fit in 600megs. It uses the newer data/media partitioning system so you can enlarge the data partition and shrink media down to zero. There were some good posts earlier in the cm-11 thread on doing that. Unlike some other systems we can still mount and use the internal media partition. The external sd-card is useable in the nifty, high security ways of marshmallow. Apps can no longer default to storing data there unless you encrypt it. I expect encryption would be laboriously slow on this device. I just use the external sd-card for storing pictures, books, movies and other external storage stuff.
I looked at my partitioning.
253 0 98304 zram0
179 0 7757824 mmcblk0
179 1 72261 mmcblk0p1
179 2 72292 mmcblk0p2
179 3 305235 mmcblk0p3
179 4 1 mmcblk0p4
179 5 1140583 mmcblk0p5
179 6 4803403 mmcblk0p6
179 7 361431 mmcblk0p7
179 8 995998 mmcblk0p8
179 32 1024 mmcblk0boot1
179 16 1024 mmcblk0boot0
179 48 15558144 mmcblk1
179 49 15554048 mmcblk1p1
That is a 1.1Gig system partition, 4.8Gig data and 1Gig userdata.
I only use 450MB for system without gapps. Pico gapps upped it by about 60 or so but it got stuck in setup wizard. Nano gapps adds 150MB. You need some spare room in system but not 700MB empty. I am sure that you could get away with a much smaller partition. Maybe even 600MB. I am no expert.

I don't remember what the nook standards are, there were two different ones as I recall one with big data/small userdata and the other with big userdata/small data. There is a good discussion on reformatting on the cm-11.0 thread. Look here: http://forum.xda-developers.com/show...70873&page=418 and keep reading. An excellent guide to reformatting with some flashable zips is here: http://forum.xda-developers.com/show...postcount=4177

I had trouble with doing gapps setup so I just dirty flashed over my cm-11 install and flashed the updated open gapps nano package. This may be fixed now, I just don't feel like doing a clean install to test it. I have to reflash gapps since the backup script is broken in this cwm recovery. It didn't work in cm-11 either. I am not sure why it fails. You do need to use the latest CWM to flash this. You can get it from get.cm.
This is from a post by steven676:
Actually ... and I've been meaning to post about this for a while ... CM now autobuilds recoveries. If someone could test http://download.cyanogenmod.org/get/...e-recovery.img (it's a ZIP file -- rename it to .zip, unpack it, and push kernel to /boot/uRecImg and ramdisk-recovery.ub to /boot/uRecRam), that would be greatly appreciated. (The version number should be newer, but it should otherwise be equivalent to the existing hand-build recoveries I've been posting.)
To get recovery working you need two files in the /boot directory of the Nook. uRecRam and uRecImg. These are the ramdisk and the kernel respectively, the Rec tells cyanoboot that these are recovery. Once you get them on you computer you need to get them into the boot directory. That is contained in /dev/block/mmcblk0p1
We need a place to mount this block if it isn't already mounted. I use adb:
Code:
#elevate adb status
adb root
#mount the block. I have been using /boot which already exists. You could mkdir /boot or /emmc or whatever and use that
adb shell mount -t vfat /dev/block/mmcblk0p1 /boot
#push the files
adb push <path to ramdisk file> /boot/uRecRam
adb push <path to kernel file> /boot/uRecImg
Now you have the updated recovery ready to boot into from the cyanoboot Menu.
You want to use the minimum of apps, especially google apps. They really hog our poor single processor. Get rid of games, newsstand, movies-and-tv, books, maps and anything else you don't use. I even had to get rid of my homescreen weather widget because it took up too much processing power. Running: > adb shell toybox top < will show you what apps are using too much cpu time.


XDA:DevDB Information
CM-13.0 for Encore, ROM for the Barnes & Noble Nook Color

Contributors
drmarble, steven676
ROM OS Version: 6.0.x Marshmallow
Based On: CyanogenMod

Version Information
Status: Testing

Created 2016-01-20
Last Updated 2016-01-21
 

drmarble

Senior Member
Jul 27, 2011
344
1,003
93
Reserved

Here are the promised patch files in zip format. I can't seem to figure out how to attach them to the first post.

Also, is there interest in a flashable zip? You have to reformat your emmc to enlarge system. It is just as slow and annoying as cm-11.0 if not more so. Still, it is kind of fun to have marshmallow running on a 2010 device.
 

Attachments

Last edited:

bowguy

Senior Member
May 7, 2012
198
152
0
Ventura
time make -j9 bacon 2>&1 | tee make.log ; rm -r /tmp/targetfiles-??????
# I don't like that file removal but the build process fills up /tmp and problems can ensue.
This is probably why my two CM-13 builds wouldn't install. I'll see if I can do a new build but right now I am having sync issues on platform/prebuilts/maven_repo/android

Thanks!
 
Last edited:

drmarble

Senior Member
Jul 27, 2011
344
1,003
93
This is probably why my two CM-13 builds wouldn't install. I'll see if I can do a new build but right now I am having sync issues on platform/prebuilts/maven_repo/android
Thanks!
I don't think the files in /tmp were causing booting problems. They fill up the root directory and cause the build to crash.
I expect it was caused by not having the correct/current patches to build. My git hub repos for the standard cm base are not current. I only update the repos that aren't standard cm. You don't need any <remove> lines in roomservice.xml. Just applying patches over the current cm repos keeps everything up to date. When you repo sync, the patches are overwritten and have to be reapplied. Eventually, the cm base will change enough that the patches no longer apply. We will have to update the patches then. Using patches lets us keep up with all the other cm changes and improvements.
I don't know why you are having problems with maven_repo. It syncs fine for me.
 
  • Like
Reactions: Tschumi and bowguy

bowguy

Senior Member
May 7, 2012
198
152
0
Ventura
I don't think the files in /tmp were causing booting problems. They fill up the root directory and cause the build to crash.
I expect it was caused by not having the correct/current patches to build. My git hub repos for the standard cm base are not current. I only update the repos that aren't standard cm. You don't need any <remove> lines in roomservice.xml. Just applying patches over the current cm repos keeps everything up to date. When you repo sync, the patches are overwritten and have to be reapplied. Eventually, the cm base will change enough that the patches no longer apply. We will have to update the patches then. Using patches lets us keep up with all the other cm changes and improvements.
I don't know why you are having problems with maven_repo. It syncs fine for me.
I fixed the sync issue by selectively removing the "clone-depth=1" in default.xml. I now have a clean sync. I tried to run your script with the patches but had all kinds of issues. I will applied the patches by hand. I have a clean build and will try installation tonight
Fun stuff!!
 
Last edited:
  • Like
Reactions: joeygess

bowguy

Senior Member
May 7, 2012
198
152
0
Ventura
CM-13.0 up and running

Followed all drmarbles directions above and have a working marshmallow tablet on the nook. I had to fight a little with the default.xml file to get it to sync but after applying all the patches the build went fine and install no problem.
Playing now!
Thanks
 
  • Like
Reactions: joeygess

bowguy

Senior Member
May 7, 2012
198
152
0
Ventura
Dual boot with cm-13

Dual boot works fine on the Nook. Install cm-11 or lower on the SD card as usual. Install cm-13 on emmc. When you boot into cm-13 it will ask you to configure the SD card. Pick the option for portable storage and it will still dual boot. An added advantage on cm-13 is it sees all the SD card partitions and files instead of just the boot partition as in previous versions
 
  • Like
Reactions: sziggins

drmarble

Senior Member
Jul 27, 2011
344
1,003
93
I am glad that there is interest. I am currently too sick to trust posting a rom but will put one up soon.
There are a few improvements since I last described it. It now backs up and restores your gapps. You do need to overwrite your old cm-11 gapps on the first install. It correctly mounts the data partition.
You will need the larger system partition described here: http://forum.xda-developers.com/showpost.php?p=54401912&postcount=4177 along with his flashable zips.
I am currently trying to get f2fs working. When I do, I will post new flashable repartition and format zips.
 

drmarble

Senior Member
Jul 27, 2011
344
1,003
93
cm-13 rom available:

As promised, here is a flashable rom:
http://d-h.st/lAkX
I recommend reading the last cople of pages of the cm-11 development thread where I discuss some of the limitations of this rom.
You sill need a larger than standard (450M) system partition so use the link provided in my previous post to flash the 1GB system 4.5GB data 1GB media. You will then need to format those partitions with vfat or ext4 as appropriate. You can also do the partitioning by hand as was discussed in the cm-11.0 thread. Start reading here: http://forum.xda-developers.com/showthread.php?t=1370873&page=417 and continue for a few pages. As I remember the update binary in those zips required an earlier cwm version. You can always do the repartitioning by hand with adb shell in recovery.
Note, you will lose all data stored on the internal sdcard. Marshmallow insists on encrypting the data-media partition. Make backups. Store them off the tablet. After formatting, you can restore those cwm backups and get your /data back. Your personal files are up to you.
You can install the open gapps nano gapps. I don't recommend using any larger gapps. These apps really slow down the device. The fewer applications running the better.
If I was healthier I would probably make some repartition and reformat zips with a current update binary. I think I made some back when but cannot locate them now. I expect to get better soon. Never eat bad peanut butter with a broken seal.
 

hliew88

Senior Member
Dec 24, 2010
53
10
0
Thank you so much for this!!! I repartitioned to a 1GB /system and 5.5GB /data (leaving /media to <8MB since it's useless in Marshmallow) and then clean installed this ROM with pico gapps. It has been running pretty smoothly but definitely slightly slower than KitKat (except with app launches because of ART vs. Dalvik).

A couple notes:
1) The built-in File Manager does not have the option to request root. Is this because SELinux is disabled?
2) I noticed your patches removed the Noto fonts, leaving lots of "tofu boxes" around non-English characters. Was this to save space in /system, and can it be added back?
3) I seem to be getting best performance (especially with YouTube) at max 1200MHz CPU clock and the Deadline scheduler (128kb read-ahead). I/O speed feels like the bottleneck... would f2fs give tangible improvement?
4) None of the fancy display stuff (LiveDisplay, inversion) work which is to be expected. Could it ever be supported by our poor old GPU?
 

bowguy

Senior Member
May 7, 2012
198
152
0
Ventura
A couple notes:
1) The built-in File Manager does not have the option to request root. Is this because SELinux is disabled?
2) I noticed your patches removed the Noto fonts, leaving lots of "tofu boxes" around non-English characters. Was this to save space in /system, and can it be added back?
1) Titanium Backup has the same issue.
2) I added back the fonts and it adds 20MB (10%) to the build so it is doable.
 

drmarble

Senior Member
Jul 27, 2011
344
1,003
93
Glad things are working for you.
I have finished the f2fs work. It is running fine for me. You can use the f2fs device and kernel trees. I don't think I had to change anything else. I don't notice any improved performance, it is still slow. Maybe a little less. No major change in quadrant scores. We just spend all our time being I/O limited (according to toybox top). I have made a cwm that supports f2fs and an f2fs compatible twrp 3.0 that will backup/restore twrp and change file system types. It just crashes on flashing a rom. I used the twrp to backup and restore my data partition. I don't like reinstalling. I view having to re-login to the play store as a sign of failure. I will get these posted someday. I should also post a document on repartitioning and reformatting. Maybe I can make some flashable zips for that. I think I found my old data/media and format flashable zips. I will leave using twrp to restore the data partition to those who care to look up how it is done. There are some good tutorials elsewhere on xda.
I don't include the noto fonts because adding that 20mb to the zip prevented me from sideloading it. I hate having to upload the roms to the devices.
I should add it back for the zips that I post. I just dumped them for space. Actually, my zips have been getting smaller. The CM code base has been tightened up. Maybe I can include it in sideloadable zips.
I doubt we will get any of that fancy display stuff working. I have been trying to backport the new graphic drivers from the Motorola 360 watch. It uses a 3.10 omap3660 kernel. I haven't had any luck yet. I am just happy that I can watch a youtube video.
I will keep working on making this better. If I try real hard, I might be able to get this official again. There are just a couple of tough build patches. Making the sound libraries and ti omap3 hardware branches into prebuilts shouldn't be too hard. Getting it non-permissive will be a problem. I managed to boot up an selinux enforcing rom but it was mostly just errors in the logcat. There is a lot of niggling, boring work to get enforcing right.
I am glad that someone else is using this rom. Sometimes I feel like I am just building into a vacuum.
 

lev777

Senior Member
Jul 25, 2011
163
41
28
Glad things are working for you.
I will get these posted someday. I should also post a document on repartitioning and reformatting. Maybe I can make some flashable zips for that. I think I found my old data/media and format flashable zips.
I would be happy to try the partitioning zip & flashing the rom if you get them all and the updated CWM/TWRP posted. :good:
 
Last edited:

j8048188

Senior Member
Aug 19, 2011
152
41
0
Riverton, UT
Is this ROM supported for booting from the SD card or just EMMC?

Thanks for all the hard work. As I don't have the time right now to build, I'll try the flashable version you posted.

I might have to get a build environment running again...