yashsingh1/xdaforums huggingface dataset:
[Nook Color Android Development] fattire:
By the way-- a heads up for 13.0-- there are some kernel features that need to be added to make it 6.0-friendly.

Here is the kernel (which may or may not work yet, still testing) For the note 4. I took stock kernel and then applied some stuff which seems to have been needed. Not sure how easily this will be replicated in a largely deprecated ti 3.0.x kernel tho... basically the patches are to /security, uid_cputime, cpufreq, and then there were vidc changes but those are kind of platform dependent I think.
[Nook Color Android Development] bowguy:
Configure zRAM

I dug around a little on performance and found this:

https://source.android.com/devices/tech/config/low-ram.html

In the section on zRAM I noticed everything was configured as stated except CONFIG_CGROUP_MEM_RES_CTLR_SWAP was not set in CM-11. Not sure if this impacts the device but I set it and rebuilt a cm-12.0 over the weekend with this enabled. I don't have all of drmarble's changes so I don't have sound. Play Store connects with my account but I can't download or update any apps.

Once the thing stops thrashing and you tweak it a bit it seems to work pretty smooth.

Edit: I hand picked some changes from drmarbles repositories and now have play store working. Couldn't get his sound code to compile so still no sound.
[Nook Color Android Development] steven676:
I don't know why Google has that set in their sample config. That kernel config option creates memory.memsw.* in cgroupfs to allow setting a limit on usage of memory + swap for a particular cgroup, but you can verify for yourself that Android never uses these files. There is a small memory overhead associated with the option (two bytes per page of swap), so I disable it in the encore kernels.
[Nook Color Android Development] drmarble:
I am sorry that I have been remiss in posting my changes for sound in cm-12.1. Here you go:

You have to use the stable branch stable/cm-12.1-YOG7D.

repo init -b stable/cm-12.1-YOG7D

repo sync

This isn't cutting edge but it doesn't change all the time and break the builds.

You still need to apply the patch to system/core that I posted above. We need to not treat warnings as errors. Actually, we need to figure out why this is happening and fix it but this patch works.

The directories you need from my github are mostly labelled as encore-12.1-YOG7D. Use this branch in vendor/cm, hardware/libhardware_legacy, and build.

in hardware/ti/omap3 use cm-12.1-wip1

in frameworks/base use storage-config-cm-12.1-YOG7D

in hardware/alsa_sound use cm-12.1

in device/bn/encore use cm-12.1-sound-b

in vendor/bn use cm-12.1-wip

Keep using steven676's gcc4.8 kernel.

I may have forgotten something.

I use a user-debug build. It seems fairly peppy. I can get to the browser is I am fast enough on opening a new browser tab. Videos play fine using MX player. It sometimes needs a reboot to finish booting. I don't think that we are really using any of the video/omx drivers from ti. It obviously needs more work.

I still don't have cm-13.0 working. I had a build I could flash but didn't write anything to boot or system. I tried pushing boot and it boot looped. Now, the build won't even complete.

Good luck.
[Nook Color Android Development] fattire:
Hey for what it's worth, check out my .sig for steps taken to make cm13 work on note4. Totally different SoC obviously, but as far as things to look at-- kernel changes, device changes, etc. it might be helpful (?)
[Nook Color Android Development] drmarble:
Fattire, thanks for the tips. I will look at your changes. You do write great build guides. I always assume lots of prior knowledge. In CM-13.0 build/core and build/tools are changing fast and I just can't keep up. All I really need is kernel, ramdisk.img and /system/*. I can just push and sync them with adb. I really don't need a working recovery image. I guess I only need ramdisk and kernel to get it to start booting.

Others:

You may notice that I no longer use a forked bionic. We don't need one. The only non-PIE executable was pvrinit. We now build our own so it is a Position Independent Executable (I think that is what it stands for). Not enabling them makes the system much more secure.

Our biggest remaining problem seems to be video. CM now provides libion.so so I renamed the one we built in hardware/ti/omap3 to libion_ti.so.

I am sure that there are more changes I need to make in those files to get our omx libs built correctly. It would help if we had source such as was released for the omap4. That is what the tablet and HD+ use. We just have ICS era drivers from a Lenovo tablet. At the least I should not have that warning about pointers to integers.

Thanks for letting me ramble.
[Nook Color Android Development] fattire:
On of the things to be aware of in cm13 is that google switched from openssl to boringssl, and at least for the note4 that had some consequences for opengl, where the blobs suddenly had different symbols. In some cases, blobs were available for similar devices, but for devices where this was not the case, I think CM has a flag that provides a workaround. If you like I can find out what that was... We ended up using the shamu (nexus 6) blobs so we didn't have to use it...

Aside from that, to get it to build there were some vidc driver changes (msm/vidc) I don't know what that would be equivalent to in the omap3 kernel.... there were also some selinux commits that were needed to allow the kernel to finish booting, even if selinux itself was turned off... something about selinux level 30.... you can see those changes in my kernel from the link below...
[Nook Color Android Development] bowguy:
If you could add http://review.cyanogenmod.org/#/c/69804/4 to your frameworks_base that helps.

Getting:

make: *** No rule to make target `/home/bowguy/cm12/android/system/out/target/product/encore/obj/SHARED_LIBRARIES/libhardware_legacy_intermediates/export_includes

Also do you need:

<project name="steven676/android_external_alsa-lib" path="external/alsa-lib" remote="github" revision="jellybean" />

or some version as referenced in BoardConfig.mk ??

Thanks
[Nook Color Android Development] drmarble:
Bowguy:

Thanks for catching the missing repository. I modified the alsa_sound slightly and you need:

https://github.com/drmarble/android_hardware_alsa_sound/tree/cm-12.1

I also include external/alsa-lib. I use the one from cm, their stable/cm-12.1-YOG4P branch. I think it was in the default cm manifest. I don't use stegen676's version. I should compare the two. I haven't made any modifications to it.

As you noticed, I have merged steven676's storage config changes into my frameworks/base tree. In fact, I think that is about the only change I have made. In my cm-13.0 build I got rid of the sdcard installs and thus no-longer modify frameworks/base.

I hope this will help you get a build with sound.
[Nook Color Android Development] drmarble:
CM-13.0

I managed to get cm-13.0 to boot up on the Encore.

Here's the proof:

Wifi is working. It doesn't mount the sd card correctly. Browser works, unlike cm-12.1. It has no sound. I haven't checked out anything else.

It still needs much more work but I will upload the changes to github.
[Nook Color Android Development] Zippy Dufus:
You are doing excellent work!!

Do you have a manifest and your repos ready?

I haven't built a ROM for my Nook Color for a long time and it would be too funny for it to be my first device with Marshmallow!

I'll use it as a backup device for my old Nook Tablet which is stripped down (no gapps, only a few apps) and used as my trusty "wifi-enabled clock radio".
[Nook Color Android Development] drmarble:
I forgot to include vendor/bn in the above post. I edited the post to include it but wanted to mention it here since I never go back and reread old posts to check if they have been edited.

https://github.com/drmarble/proprietary_vendor_bn/tree/cm-12.1-wip

I may have forgotten other changes and will post them as they occur to me.

I haven't made a manifest for my builds since the repositories change often. I use git commands, eg:

cd vendor/bn
git add drmarble https://github.com/drmarble/proprietary_vendor_bn.git
git fetch drmarble
git checkout drmarble/cm-12.1-wip

# now make a local branch, choose a name for your local branch
git checkout -b my-cm-13.0

# resync branch to upstream changes
# this isn't happening with vendor/cm but will happen with /build because cm that changes often
git pull github cm-13.0
# use your programming skills to eliminate errors if it complains about the merge, otherwise...
# you will get a nano edit window, hit <ctrl>o to save, <ctrl>x to exit
# build away, You are now ready to build current cm-13.0.

I should have chosen a more dynamic directory (/build) with lots of cm changes. This gives you an idea of how I do it.

I upload my modifications to the various directories but cm keeps changing and all parts of cm need to be at the same level. An old /build might not work with a current /frameworks/base, for example.
[Nook Color Android Development] bowguy:
errors compiling sound

I can't seem to get the audio libraries to compile.

Must have been something upstream - compiling fine now.

I must be missing something here. [EDIT: goes without saying...]

Thanks!!
[Nook Color Android Development] drmarble:
I have made more progress. It runs ok-ish. Installing gapps bogs it down terribly. The kernel updates are in: wip-cm-13.0-c

The device updates are in wip-cm-13.0-e

I haven't changed any of the other repositories or patches.

To show how well it works:

I even have multiple windows working as the above picture shows. It does claim I have two corrupted sdcards installed. I think they are boot and rom but I am not sure. I just swipe the notifications away and don't let android reformat them for me. I am still working on making them go away. It lets me use the external sdcard as removable storage or internal storage as we did in the past. The big difference is that it needs to reformat and encrypt the sdcard to use it as internal/adoptable storage. I haven't done that yet. I still want to be able to retreat to cm-11 if I need to.

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 don't remember what the nook standards were, there were two different ones as I recall one with big data/small userdata and the other with big userdata/small data. I am pretty sure that my system partition is much bigger than standard. Earlier in this thread there are good scripts and flashable zips for changing the partitioning.

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.

Bowguy: I don't know what is causing your problem with compiling the sound. I have no troubles and my branches on github should be up to date.

Unfortunately, I don't think you can ever make a bootable sd card version. Google got picky about security in marshmallow. If you want to use your sdcard for internal storage (it can be seamlessly merged (adopted)) it has to be encrypted.

I may upload a very early alpha cm-13.0 rom if there is interest. It is fun to say that your nook color got marshmallow before your fancy samsung/lg/nexus phone.
[Nook Color Android Development] bowguy:
cm-13 build

I can get a clean build with no errors using a standard repo sync and a local roomservice manifest. However I can't get the thing to load to emmc. I have a recovery that will load cm-11 and cm-12 to emmc but when I try to install the cm-13 zip it stops way too early and says it was successful. On start-up it goes immediately into a boot-loop. For fun I installed CM-13 onto an sd card. That took almost an hour to install the zip (!) but that actually tries to boot! It will run forever but I can connect to it via adb. It loads but it just cannot deal with the file system. Unable to write, no such file , etc. from the dmesg and logcat.

Recovery is CWM 6.0.4.8 btw

Thanks for all your work drmarble!
[Nook Color Android Development] drmarble:
Bowguy:

Congradulations on getting it to build. I am using cwm 6.0.5.0. I think I built it with cm-11. I think it is the version that cyanogenmod has. Try:

http://download.cyanogenmod.org/get/jenkins/139051/cm-11-20151213-NIGHTLY-encore-recovery.img

Steven676 made some changes. Maybe it will help. I am not sure how to install that recovery. I have a uRecRam and uRecImg, I think. Those are kernel and ramdisk. There might be a flashable zip for 6.0.5.0 somewhere in this thread. Or, I can post my files and instructions on how to use adb to install them to the emmc. I think they are small enough to be posted as attachments.

The one hour boot time seems about normal. It takes me about 15 minutes to flash (I use sideload) a rom. It takes about another half hour to run dex2oat depending on how many apps you have. Watching it on adb logcat is a good way to see that it is not dead.

I made even more changes. I had trouble mounting the internal media partiton as media storage. It kept trying to mount the two hidden boot partitions and have me format them. I kept answering no but I didn't want that to keep popping up on every boot. Studying other devices I realized that not of them try to mount it. They all use data/media partitions. They encourage folks to reformat their devices to eliminate the media partition and put all extra storage into the shared data/media partition. That is the new Google way. So, I don't even try to mount it any more. Mine is only 1gb.

The standard system partition is not large enough. There was lots of discussion on this earlier. Look here: http://xdaforums.com/showthread.php?t=1370873&page=418 and keep reading.

An excellent guide to reformatting with some flashable zips is here: http://xdaforums.com/showpost.php?p=54401912&postcount=4177

I will push my changes to the device tree soon. Just use the highest numbered/lettered cm-13 wip branch. I also made some kernel changes I will push these even though they don't really do anything for us. Getting swipe to work is not very important.

I don't think that external installs are possible with marshmallow. I think that Google refuses install things on unencrypted external drives. It just isn't secure. Anyway, I eliminated most of the external bootable ability in my efforts to stop trying to mount and format the boot partitions. It wouldn't be too hard to reverse the changes but I'm not sure that an SDcard install can be made to work.

I am not going to put up a flashable zip file yet. I want to tune things up a bit more before I let folks brick their NookColors with my software.

I used open gapps pico (I think that is the smallest). You want as few apps installed as possible. Full gapps just bogged everything down.

I did not do a clean install. I don't believe in them. I just flashed my rom over my cm-11 system and flashed gapps and let it reboot. It solved my problem with getting stuck int the google setup that I described earlier. I was already signed into google.

Good luck.
[Nook Color Android Development] bowguy:
Install problems

I'm afraid I'm stuck. I have repartitioned emmc to get 1.1GB in system (Thanks pastordl!) but I only have CWM 6.0.4.8 on emmc. That recovery doesn't seem to install cm-13. I have 6.0.5.1 on my sd card but without a flashable zip i can't get it on to emmc. 6.0.5.1 seems like it works but the setup I have only installs the cm-13 to the sd card. I tried to sideload but booting into 6.0.4.8 on emmc does not connect with my PC so adb does not see the device. Maybe TWRP but that program is pretty old. I just can't seem to find a way to get that recovery onto emmc..

Sorry
[Nook Color Android Development] drmarble:
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.I am trying to get them uploaded. Maybe you can find them on the sdcard.

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:

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

My first try at uploading the files failed. Maybe this time it worked. They are stored in the zip file. It is NOT flashable. Just extract the two files and push them to /dev/block/mmcblk0p1.
[Nook Color Android Development] bowguy:
I have the 6.0.5.1 recovery installed thanks to drmarble but the cm-13 still will not install. I have tested this every way possible (CM-11, CM-12) and everything works except cm-13. It must be my build. For those of you who want to join in the fun, it is a standard build. Just repo init 13.0, then add the following in .repo/local_manifests/roomservice.xml:

<?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-e" />
<project name="drmarble/android_kernel_bn_encore" path="kernel/bn/encore" remote="github" revision="wip-cm-13.0-c" />
<project name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" remote="aosp" revision="refs/tags/android-4.4.4_r2" />
<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="security1" />
<project name="drmarble/android_hardware_libhardware_legacy" path="hardware/libhardware/legacy" remote="github" revision="encore-cm-13.0" />
<remove-project name="CyanogenMod/android_build" />
<project name="drmarble/android_build" path="build" remote="github" revision="encore-cm-13.0" />
</manifest>

brunch encore and I get a zip. I might be missing something and/or drmarble's has updated his repositories.

I will be unable to build/test for a few weeks.

Enjoy!
[Nook Color Android Development] owim:
Hello,

In 2016. which NC ROM is most cost/benefit to install?

This is a perfect question for someone who was willing to try numerous NC builds. I'm not lazy, but there are hundreds of pages on different NC ROMs and their versions. So far, I used only Mirage 7.2, famous for stability and fluidity (as possible on 2010. HW). But, since it's Gingerbread, it doesn't support newer apps. Long ago, I briefly tried CM10 from 2012. and it was pretty slow. I guess things have changed so far. ;)

I've been reading other DEV ROM threads, for instance this ROM was evaluated by users as fast as Mirage 7.2: [ROM] MROM-Encore [4.2.2][LINARO][CM10.1] build:20131003

There are different builds of modified CM10 (up to stable 10.2), and also lots of only nightly builds of CM11. There is even CM13 (Android M), developing as we speak! I don't have enough time to try all these builds, so I kindly ask someone how actually tried them or even worked on them to share a small digest: what's worth of trying and working with today on a daily basis?. Maybe a small comparison.

Are certain versions of CM10 or CM11 close to fluid, everyday use? Which offer same responsiveness (or maybe just a bit slower) but with new options (mostly: possibility of running Android 4+ apps). If yes, which version in particular is worth trying?

Finally, I'm currently on CWM Recovery ver. 3.2.0.1 installed on eMMC (not SD card install). With this ver. I can flash CM 7.2 and CM 10. How about CM11 -- do I need newer CWM Recovery?

I'm really thankful for any hint. Cheers! :)
[Nook Color Android Development] Nburnes:
I have not.
[Nook Color Android Development] lowpeezy:
Odd, I flashed it this morning, and was very impressed with the state of the build. I then booted into CWM and tried to restore a backup, but soon as I hit reboot system, it boots back into CWM. I'm at work so I can't spend too much time on it lol
[Nook Color Android Development] Nburnes:
Oh man, that issue. I've been in that boot loop before actually. Only way I got it fixed was using verygreens cm installer to boot off SD once, then rebooted with it out just fine.
[Nook Color Android Development] inportb:
So far, I have been unsuccessful with this build. I install it to eMMC using CWR+SD, but then it keeps boot-looping like a boss. Logs show android.server.ServerThread crashing with an exception, which starts/ends the cycle. A message is emitted each time, to the effect of

*** FATAL EXCEPTION IN SYSTEM PROCESS: android.server.ServerThread

May I have some help with this? Thanks!
[Nook Color Android Development] lowpeezy:
Cool, I'll have to check it out when I get home!

I'm glad that now the wallpapers size a whole lot better than they do in CM7
[Nook Color Android Development] HacDan:
Check your uBoot settings. They may still be stuck on booting into recovery instead of the internal EMMC partition. Mine has done that to me before, was just a quick change and I was all set.

To access, Volume down and Home button while turning the device on. But I'm sure you already knew that if you made it in to CWR. =)
[Nook Color Android Development] iDidItAll4theNookie:
Got the ROM going with gapps finally. Pretty darn slick I might say. Can't wait to see the final result.
[Nook Color Android Development] newellj79:
when I restore my backup it hangs at the splash screen, saying loading... any ideas?

---------- Post added at 09:04 PM ---------- Previous post was at 08:09 PM ----------

wow. here it is... I initially flashed the posted Ics test build. worked great. yesterday I was finally able to get one built myself. worked great. this morning, bored, I figure what the heck maybe there were some updates, I sync and build. it doesn't boot, blank screen shows up after the splash screen. tried to restore Ics backup, doesn't work, same thing blank screen. restore gb backup just fine. reflash test build, work's fine. boot to recovery to try and restore Ics data only from backup. boots into Ics but nothing is actually restored. try to boot into recovery and now it just hangs and splash screen saying loading recovery. try to boot normal it hangs at splash saying loading. so I can't get to recovery. if any of that made since does anyone have any ideas? guess its time to remake a bootable clockworkmod SD card huh? got the link handy? sheesh...
[Nook Color Android Development] mikespug:
@lowpeezy

I had the same problem. Flashed to ICS...played around...tried to restore...boot loop into recovery...tried to flash something else...boot loop....etc. Interestingly, my /data became corrupted somewhere between flashing ICS and restoring my previous setup as evident by failed attempts to format /data after the initial restore attempt. I went through some ridiculous troubleshooting and, in the end, had to repartition the drive using the files and procedure located here. and then restore. Try booting into recovery -> selecting mounts and storage -> format /data and see if it returns an error...
[Nook Color Android Development] SCrid2000:
Just installed the alpha from the second post and gApps and all that jazz with my 1.4.1 dual boot - must say, very freakin awesome. Booted into my mint partition, gonna compile the latest build :) thanks guys!