[DEV] CM11 Work-In-Progress

Search This thread

fattire

Inactive Recognized Developer
Oct 11, 2010
2,281
6,473
www.eff.org
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...

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.
 

bowguy

Senior Member
May 7, 2012
198
152
Ventura
I may have forgotten something.

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
 
Last edited:

drmarble

Senior Member
Jul 27, 2011
368
1,020
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.
 

drmarble

Senior Member
Jul 27, 2011
368
1,020
CM-13.0

I managed to get cm-13.0 to boot up on the Encore.
Here's the proof:
KewP7lh.png

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.
 

drmarble

Senior Member
Jul 27, 2011
368
1,020
cm-13.0 repositories

Well, I got sound working. The external sdcard still can't be mounted. It doesn't do the nifty hybrid emmc/sdcard install it did in earlier versions. I am looking at this. It cannot be built as an SDcard install. The build system changed enough that I just sort of eliminated that. It may make it back in when I get other parts of the sdcard working. Quadrant scores dropped with today's build. Something upstream in cm changed. They have been working on performance settings.
The hard part in this was getting the kernel to use selinux. We were using selinux disabled before (look at About tablet). It took about 50 commits. I initially thought we needed selinux to be enforcing so I managed to get cm-12.1 to boot in enforcing mode. Most programs didn't run but it did boot in enforcing. I have since regressed to permissive. Boy, was I happy when I finally got a logcat while booting. Before that all I ever got were black screens. Not even anything in /proc/last_kmsg. Marshmallow will just not boot at all if you don't have security enabled in the kernel. You can dissable it in the rom but the kernel must be secure to boot. That may be part of the problem the sdcard mounting. I think that happens very early in the boot process.

The required repositories are:
Code:
https://github.com/drmarble/android_device_bn_encore/tree/wip-cm-13.0-c
https://github.com/drmarble/android_kernel_bn_encore/tree/wip-cm-13.0-b
https://github.com/drmarble/android_build/tree/encore-cm-13.0
https://github.com/drmarble/android_system_core/tree/encore-cm13.0
https://github.com/drmarble/android_hardware_ti_omap3/tree/security1
https://github.com/drmarble/android_hardware_libhardware_legacy/tree/encore-cm-13.0
https://github.com/drmarble/android_external_alsa-lib/tree/encore-cm-13.0
https://github.com/drmarble/android_hardware_alsa_sound/tree/cm-12.1
https://github.com/drmarble/proprietary_vendor_bn/tree/cm-12.1-wip
System/core is just the change of w-error to wno-error as before. I just uploaded the change.
This does build but it is too large to flash. I removed some sounds from vendor/cm and the fonts in noto-fonts. For vendor/cm I changed cm_audio.mk and removed all but the last of all the sound files (notifications, alarms, etc.). Here is a patch file you can save to the vendor/cm directory. Just apply it with the command git am <my-nifty-patch-name> run from the vendor/cm directory.

Code:
From 1e54863190fd9bf1901f3d7952902e6f8f9d8bb4 Mon Sep 17 00:00:00 2001
From: David Marble <drmarble1@gmail.com>
Date: Thu, 5 Nov 2015 10:35:27 -0600
Subject: [PATCH 1/1] My zip file names and fewer apps and sounds for encore

Change-Id: I0db3597bb52df94c1ec0cc636fbb75f722b35af8
---
 config/cm_audio.mk | 18 ------------------
 config/common.mk   |  2 +-
 2 files changed, 1 insertion(+), 19 deletions(-)

diff --git a/config/cm_audio.mk b/config/cm_audio.mk
index f5f659f..d013f9c 100644
--- a/config/cm_audio.mk
+++ b/config/cm_audio.mk
@@ -9,35 +9,17 @@ UI_PATH := vendor/cm/prebuilt/common/media/audio/ui
 
 # Alarms
 PRODUCT_COPY_FILES += \
-    $(ALARM_PATH)/CyanAlarm.ogg:system/media/audio/alarms/CyanAlarm.ogg \
     $(ALARM_PATH)/NuclearLaunch.ogg:system/media/audio/alarms/NuclearLaunch.ogg
 
 # Notifications
 PRODUCT_COPY_FILES += \
-    $(NOTIFICATION_PATH)/CyanDoink.ogg:system/media/audio/notifications/CyanDoink.ogg \
-    $(NOTIFICATION_PATH)/CyanMail.ogg:system/media/audio/notifications/CyanMail.ogg \
-    $(NOTIFICATION_PATH)/CyanMessage.ogg:system/media/audio/notifications/CyanMessage.ogg \
-    $(NOTIFICATION_PATH)/Laser.ogg:system/media/audio/notifications/Laser.ogg \
-    $(NOTIFICATION_PATH)/Naughty.ogg:system/media/audio/notifications/Naughty.ogg \
-    $(NOTIFICATION_PATH)/Pong.ogg:system/media/audio/notifications/Pong.ogg \
-    $(NOTIFICATION_PATH)/Rang.ogg:system/media/audio/notifications/Rang.ogg \
     $(NOTIFICATION_PATH)/Stone.ogg:system/media/audio/notifications/Stone.ogg
 
 # Ringtones
 ifeq ($(TARGET_NEEDS_BOOSTED_SOUNDS),true)
 PRODUCT_COPY_FILES += \
-	$(RINGTONE_PATH)/boosted/Boxbeat.ogg:system/media/audio/ringtones/Boxbeat.ogg \
-	$(RINGTONE_PATH)/boosted/CyanTone.ogg:system/media/audio/ringtones/CyanTone.ogg \
-	$(RINGTONE_PATH)/boosted/Highscore.ogg:system/media/audio/ringtones/Highscore.ogg \
-	$(RINGTONE_PATH)/boosted/Lyon.ogg:system/media/audio/ringtones/Lyon.ogg \
 	$(RINGTONE_PATH)/boosted/Rockin.ogg:system/media/audio/ringtones/Rockin.ogg
 else
 PRODUCT_COPY_FILES += \
-    $(RINGTONE_PATH)/Boxbeat.ogg:system/media/audio/ringtones/Boxbeat.ogg \
-    $(RINGTONE_PATH)/CyanTone.ogg:system/media/audio/ringtones/CyanTone.ogg \
-    $(RINGTONE_PATH)/Highscore.ogg:system/media/audio/ringtones/Highscore.ogg \
-    $(RINGTONE_PATH)/Lyon.ogg:system/media/audio/ringtones/Lyon.ogg \
-    $(RINGTONE_PATH)/Rockin.ogg:system/media/audio/ringtones/Rockin.ogg \
-    $(RINGTONE_PATH)/Sheep.mp3:system/media/audio/ringtones/Sheep.mp3 \
     $(RINGTONE_PATH)/Yukaay.ogg:system/media/audio/ringtones/Yukaay.ogg
 endif
diff --git a/config/common.mk b/config/common.mk
index 13b3178..621ec13 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -293,7 +293,7 @@ ifeq ($(CM_BUILDTYPE), RELEASE)
         endif
     endif
 else
-    CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date -u +%Y%m%d)-$(CM_BUILDTYPE)$(CM_EXTRAVERSION)-$(CM_BUILD)
+    CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date +%m%d_%H%M)$(CM_EXTRAVERSION)
 endif
 
 PRODUCT_PROPERTY_OVERRIDES += \
-- 
1.9.1

For the fonts I just removed the files Android.mk, CleanSpec.mk and fonts.mk from the external/noto-fonts directory. You could probably just remove Android.mk. The patch is rather long so I am not posting it here.
You can remove other functions to make the file smaller. Our tmp recovery partition is only 256M (I think). We need a little extra space in there for expanding the zip file. I try to keep the zip file under 210M. If it is too large it just fails to flash and gives you an error message. No bricking or anything like that. Just an annoying delay.
Be patient on booting. It takes me 20 minutes to sideload a rom and another 20 minutes to boot. All without any boot animation.
 
Last edited:

Zippy Dufus

Senior Member
Feb 12, 2011
476
178
Well, I got sound working. The external sdcard still can't be mounted.

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

drmarble

Senior Member
Jul 27, 2011
368
1,020
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:
Code:
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.
 

bowguy

Senior Member
May 7, 2012
198
152
Ventura
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!!
 
Last edited:

drmarble

Senior Member
Jul 27, 2011
368
1,020
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:
IQIGE70.png

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.
 
Last edited:

bowguy

Senior Member
May 7, 2012
198
152
Ventura
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!
 

drmarble

Senior Member
Jul 27, 2011
368
1,020
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.
 

bowguy

Senior Member
May 7, 2012
198
152
Ventura
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
 

drmarble

Senior Member
Jul 27, 2011
368
1,020
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:
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.
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.
 

Attachments

  • cwm_6.0.5.0.zip
    6.4 MB · Views: 106

bowguy

Senior Member
May 7, 2012
198
152
Ventura
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:
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-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!
 
Last edited:

drmarble

Senior Member
Jul 27, 2011
368
1,020
Sorry for the long delay since my last posts. I have been working a bit more.
Bowguy, thanks for posting your local manifest. I have corrected and updated it below.
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 this 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 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 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.


I think it is time to give this topic its own thread. Folks who are interested in updating to cm-13 might not be looking in the cm-11 development thread. I will open one up and make this the first post.
 

Attachments

  • encore_patches.zip
    6.6 KB · Views: 36

owim

Senior Member
Jun 6, 2011
116
17
Europe
Xiaomi Pad 5 Pro
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! :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 210
    This thread is meant for discussion of the in progress Kit Kat port for the Nook Color.

    Updates
    If you want updates on the progress you can check this post and fattire's post immediately folllowing this. We'll both be posting updates periodically here.

    You can also follow me on twitter @dalingrin
    You can follow fattire @ fat__tire
    Please don't ask me for ETAs or status updates. I will post them as I post them :cool:

    Source code
    Device source code will be temporarily hosted on fattire's github @ http://github.com/fat-tire/android_device_bn_encore

    Things to expect
    Nothing :eek:

    Things not to expect(for now)
    *Fully accelerated composition of the UI - this is not likely and may be dependent on 3rd party closed source EGL libs getting updated
    *Accelerated video playback and overlay - This has changed quite a bit and may take some time to get working
    *Polished release soon - Don't ask, don't tell​


    icsncwifi3.jpg

    icsncwifi2.jpg
    160
    UPDATE 11/24/13 -- So CM 11.0 is out and building nicely on Nook Color. Look here for the link to the build instructions. If you are building CM 11, you will probably want to use cm-11.0 as the name of the branch when initializing.



    STATE OF THE UM, STATE OF THINGS


    So I was curious how many noob types, who always beg for nightlies and builds and stuff-- I wondered if they (you?) could be encouraged to learn and get involved in the process of building Android. Which, as I've expressed in an infamous ramble, I think is important to the future of our culture and how it it deals with technology-- and who will control it. So I asked normal non-dev people to try building-- to give it a shot.

    I think the experiment, which quickly became OUR experiment, has been a massive success. Far beyond what I'd imagined. Hundreds of people have gotten off their asses-- many of whom had clearly never touched Linux or a compiler before, and most were successful in building CM9/ICS from scratch.

    That is not a small deal. And no, it's not just following a list of instructions by rote. People had to think about and solve a million different problems-- installing VMs, updating packages, choosing linux distributions, understanding the command line, etc. Scary stuff if you've never done any of these things before.

    So it's been a month or so now, and I think we've reached the stage where aside from minor enhancements and fixes, the build looks pretty sweet. The major stuff is there and working. Yeah, DSP/hardware-accelerated video is something we're going to have to wait for TI to add to their omap3 repositories, and there are likely other things wrong. I've heard rumors of sleep-of-deaths or quicker-than-usual battery consumption, etc. There are numerous things to be fixed, but these are all issues that may or may not be worked out over time... As major new enhancements come to the CyanogenMod project, they will come to the encore version, and your build, automatically.

    No secret links this time. As before, I'll spell out the bottom line explicitly for ya here in the middle somewhere. And I'll even underline it.

    I hereby decree, in so far I am able, my humble request for "no posted builds".... is ended.

    Back to your regularly scheduled forum. Go to it.

    I encourage you to pass any valuable improvements you make to the code "upstream" via the gerrit review system at review.cyanogenmod.com for inclusion in the main CM project. You already know how it works. And some, God love ya, have already started. Not everything you submit will get accepted, but it's a good way to "pay it forward". And in the same vein, consider helping someone on IRC. Or be a big brother or big sister. Or donate blood. And to quote Steven Soderbergh, or whomever, you don't have to brush ALL your teeth, just the ones you want to keep.

    Thanks as always to dalingrin, keyodi, nemith, verygreen, arcee, deeper-blue, unforgiven512, the gang on irc, and the CM Team generally for keeping this fun. And thank YOU for the lulz, Internet.

    ft

    Remember, there's NOTHING quite like running your own build, piping-hot, and fresh from the oven.



    ----

    I am also releasing a first pass at a how-to-build walkthrough. It is available here:

    walkthru (rough draft)

    This doc will be updated and evolve with your input. It is meant to help people feel confident that they can build an operating system from scratch, and hopefully encourage them to participate, learn, and even make contributions.

    If you need assistance, you must rely on each other.

    Here is an equally unreliable clockworkmod, v5.5.0.4:

    uRecRam

    You may be asking, where is the issue queue? There is no issue queue. You are on your own here.

    Recent automated builds (unofficial, unsanctioned, untested, uneverything else) from Forum member Samiam303 is here.

    -----------everything below this line is sorta old and outdated--------------

    So there's apparently been some bit of controversy related to my request that people try to build themselves rather than someone posting a pre-made update.zip file. Let me go more into detail about what this experiment is about, at least from my perspective. But first, I do want to thank everyone for respecting the request so far-- I know it's not the traditional way of doing things, but I think it's been very fruitful and personally rewarding to see so many people who have never built jack before take on a project like this and be successful. I've received an enormous number of messages, both PMs here as well as in IRC, to the effect that this finally got them to try to build for the first time. It's introduced many people to actually using Linux, others may be having their first encounters with the command line, or git, or looking at source code, or learning about the build process in general. Whether or not the majority go on to become "devs" is irrelevant-- what I have been trying to encourage is curiosity and experimentation, and most of all a deeper understanding that your phones and "ereaders" are in fact full-fledged computers, not "appliances" or limited-purpose devices that others get to control. It's your property, and it can do a lot. There is an effort underway to discourage people from thinking of their devices this way or discouraging them from experimenting and learning with them. This IMO is an extremely harmful practice-- take a look at Cory Doctorow's recent speech on this subject. I could go on and on, but it seems important enough to me to make this request, and hopefully some of you are even subconsciously appreciating the awesomeness of what potential these general-purpose gadgets will have on society. So that's a lot of philosophizing, but there you go. And while I'm not naive enough to think that plenty of people aren't trading the file "under the table" at it were, for a variety of reasons, I do think that in a way they're cheating themselves; those who give building a shot are finding that learning is a reward unto itself. Those who are persistent, who pay attention, who don't give up, not only get a build at the end, plus the experience of doing it, plus the knowledge they picked up along the way-- they also discover things in the most unexpected of places, as in the link in the period at the end of the third sentence in this post. And while there's been some discussion of what a "dev" is and whether or not this is a gateway to bigger and better things, all I can assume is that if 5-10% of the people who built are intrigued enough to take it a step further, and maybe a step further than that... then we might end up with some new devs who appreciate the value of open source and whose contributions we can look forward to with eagerness in the future. Plus-- it's more fun this way.

    I do hope this sounds good to everyone. If you understand what this post is about- no need for long, drawn-out elaborate responses... a simple "I got it" will do. ;)

    More source is forthcoming... Thanks to dalingrin, arcee, keyodi, nemith, Scepterr, unforgiven512, etc. Oh, and shh.

    --------------------------

    update-cm-9.0-0-encore-emmc-sneakpeek2-fullofbugs.zip
    md5: 536d589c59ea5711a17a3d976f0638fa


    update-cm-9.0-0-encore-emmc-sneakpeek1-fullofbugs.zip
    md5: 85294ad91e2601beb737cf723b9fb9d6
    (note this URL is likely to change)

    Note: You are advised NOT to try to install this. This update.zip will **overwrite** as in erase whatever data you have on your emmc, so if you are trying this, you are advised to back it up first so you can recover. Install entirely at your own risk, and do a factory wipe first. This software is likely to be terrible and cause problems including permanent data loss, hair loss, and/or the destruction of your property and the death of your pets. You assume all risks involved in your use-- or even attempted use-- of this file. I disclaim any and all responsibility for your decision to try it.

    *** Really. This build is buggy. It is a work-in-progress. It is only a snapshot of where things stand right now, and it's possible it'll never go further. ***

    here's what's working:

    * bluetooth (pairing/file transfer only confirmed)
    * wifi (full it seems but it's brand-new to the kernel so who knows how stable anything is)
    * backlight
    * accelerometer
    * improved stability (but not perfect)
    * gapps
    * setcpu/overclock
    * real data usage info (not stubbed out)
    * battery levels/charging
    * physical menu button
    * touchscreen
    * 3d games
    * usb gadget in kernel (ie, mounting your sdcard to your computer)
    * screenshots
    * build system (to auto-create update.zips)
    * sound


    (note: for all the above features, you must build yourself! See below for rationale & more)

    For sure not working yet:

    * video
    * full 2d acceleration (esp on complex web pages)
    * and much much more

    These things may/may not be added at some point in the future. You should have no expectations that they will. Anyone who asks for an ETA for something or other gets collectively stoned by the crowd.

    I'm sometimes on #nookcolor in freenode.

    Thanks to keyodi, unforgiven512, arcee, toastfch, d0nk`, dalingrin, nemith, the rest of the cm team/TD, and anyone else who I've forgotten. We stand on the shoulders of giants.

    MUST READ:
    Again, don't install this. And please don't "rom" this (as in change the font or background) and then ask for donations for your "hard work". This is a preview of a work in progress, not a final product, and it's not meant for people to use day-to-day. Don't be a ****. Thanks.
    --------------------screenshots---------------------

    ncicsss1.png


    About screen, wifi scanning, & bluetooth....
    icsnc.jpg
    icsncwifi1.jpg
    icsncbt.jpg


    icsnc4.jpg
    ncicsss.png
    icsnc5.jpg
    icsnc6.jpg

    ncicsss2.png
    ncicsss5.png

    wpvW3.png
    71
    Some thoughts...

    So there's apparently been some bit of controversy related to my request that people try to build themselves rather than someone posting a pre-made update.zip file. Let me go more into detail about what this experiment is about, at least from my perspective. But first, I do want to thank everyone for respecting the request so far-- I know it's not the traditional way of doing things, but I think it's been very fruitful and personally rewarding to see so many people who have never built jack before take on a project like this and be successful. I've received an enormous number of messages, both PMs here as well as in IRC, to the effect that this finally got them to try to build for the first time. It's introduced many people to actually using Linux, others may be having their first encounters with the command line, or git, or looking at source code, or learning about the build process in general. Whether or not the majority go on to become "devs" is irrelevant-- what I have been trying to encourage is curiosity and experimentation, and most of all a deeper understanding that your phones and "ereaders" are in fact full-fledged computers, not "appliances" or limited-purpose devices that others get to control. It's your property, and it can do a lot. There is an effort underway to discourage people from thinking of their devices this way or discouraging them from experimenting and learning with them. This IMO is an extremely harmful practice-- take a look at Cory Doctorow's recent speech on this subject. I could go on and on, but it seems important enough to me to make this request, and hopefully some of you are even subconsciously appreciating the awesomeness of what potential these general-purpose gadgets will have on society. So that's a lot of philosophizing, but there you go. And while I'm not naive enough to think that plenty of people aren't trading the file "under the table" at it were, for a variety of reasons, I do think that in a way they're cheating themselves; those who give building a shot are finding that learning is a reward unto itself. Those who are persistent, who pay attention, who don't give up, not only get a build at the end, plus the experience of doing it, plus the knowledge they picked up along the way-- they also discover things in the most unexpected of places, as in the link in the period at the end of the third sentence in this post. And while there's been some discussion of what a "dev" is and whether or not this is a gateway to bigger and better things, all I can assume is that if 5-10% of the people who built are intrigued enough to take it a step further, and maybe a step further than that... then we might end up with some new devs who appreciate the value of open source and whose contributions we can look forward to with eagerness in the future. Plus-- it's more fun this way.

    I do hope this sounds good to everyone. If you understand what this post is about- no need for long, drawn-out elaborate responses... a simple "I got it" will do. ;)

    More source is forthcoming... Thanks to dalingrin, arcee, keyodi, nemith, Scepterr, unforgiven512, etc. Oh, and shh.
    59
    Some good stuff...

    fattire/dalingrin: aren't the new EGL libs from the defy very good news?

    Not especially. We've had egl working on nook for about two weeks now. It just hasn't been public. The changes are pushed to frameworks/base now, and the defy is just using the flag(s). The code in questoin, by arcee I believe, was pushed up yesterday, which means everyone else will get the fast blue stuff seen in the screenshots. I tested it and some other stability stuff today, and I'm pushing it tonight/this morning. Anyone building now should notice a difference. The sacrifice for stability is a loss of some accelerated 2d graphics... but trust me, this is the best combo so far, and that other stuff can come later.

    The big effort the last two days has been w/the kernel. After MANY hours of f'ing up, I finally got the appropriate netfilter working in 2.6.32 which means I can finally finish stuff like this:

    icsnc11.jpg


    That's a 1543 fwiw. I'm guessing it can do better. But whatever.

    Gapps works too. Like Maps...

    icsnc12.jpg


    Gmail (with multiple panes/fragments)...

    icsnc7.jpg


    Market...

    icsnc10.jpg


    And the tablet apps install directly to the tablet from the web market. No questions or difficulty...

    icsnc8.jpg


    icsnc9.jpg



    Neat. So here's what's working:

    * bluetooth (only pairing is confirmed)
    * wifi (full it seems but it's brand-new to the kernel so who knows how stable anything is)
    * backlight
    * accelerometer
    * improved stability (but not perfect)
    * gapps
    * setcpu/overclock
    * real data usage info (not stubbed out)
    * battery levels/charging
    * physical menu button


    Not working yet:

    * sound (dalingrin's gonna start this I think. Arcee has code to support legacy drivers I believe.)
    * video
    * full 2d acceleration (esp on complex web pages)
    * usb gadget (which means screenshots too I think)
    * build system (to auto-create upgrade.zips)

    I'm pushing up most of what I have at the moment, including the test kernel-- I'll try to check that in tomorrow but it's a mess. It's been an all-night effort, so I'm sure stuff that I think works great will turn out to be a total dud when people actually try it.

    I also wrote up a "how to build" walk-thru a couple days ago. But it'll need to be updated.

    Still, not bad.
    56
    New Kernel

    Well, we decided to push the 2.6.32.59 kernel and wifi module into the repo. So, eyeballer's and Samiam303's builds should have the latest kernel by tomorrow.

    What's Fixed
    • keyboard layout issues and key sizes
    • Wifi module preventing sleep and pinning cpu at max
    • wifi SOD - we'll see

    What's New
    • PVR drivers backported from the omap3-3 kernel. *non-opengl versions may notice increased 3d scores in benchmarking. No noticeable improvement in opengl builds