[Nook Color Android Development] drmarble:
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://xdaforums.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.

<?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.

#!/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://xdaforums.com/show...70873&page=418 and keep reading. An excellent guide to reformatting with some flashable zips is here: http://xdaforums.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:

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