yashsingh1/xdaforums huggingface dataset:
[Nexus 7 Android Development] fattire:
I love this...

http://i.imgur.com/ik1ktdA.png

http://i.imgur.com/6XKUwIU.png

http://i.imgur.com/qWQoQ5G.png

http://i.imgur.com/NyzPjy0.png

http://i.imgur.com/XEGgvhf.png

http://i.imgur.com/95WWfQM.png

etc...

(if you haven't figured it out, the build finished and it works. Video & sound work. Everything seems pretty good. I'm using the Launcher3, which did crash once. Also, when I rotate to landscape, the new font under the icons are a little chopped off. Aside from that, it's FAST, and it seems pretty solid. then again, i've only played with it about 5 minutes.

The process as described a few pages ago was basically to repo init to the cm-11.0 branch, make sure to specify the cm-10.2 branch for the grouper kernel & device stuff (since we're using that as a base for now), keep the vendor blob stuff unchanged, apply the 2 megacommits I made above, adjust the cm.mk for the new 4.4 fingerprint... and, oh, use java 6 instead of java 7. I think that was basically it. You can "brunch grouper". Gapps is optional and up to you to get/flash.

Last bit-- when flashing, be sure to use a recent clockworkmod recovery that has a kernel w/selinux support compiled in. I just grabbed the latest, which was this one.

Hopefully I didn't forget any steps, but you can read the post above for anything I may have missed and if I forgot any steps, someone will no doubt post it. Thanks to arcee for doing the massive cm-over-kitkat migration and to dhacker29 for leading the way with aosp a couple days ago.

Cheers, and good night.

PS-- here's a video just testing the screencast recording.

I can confirm the following work:

* GPS

* video

* sound

* brightness/backlight

* GPS (assuming the pinpoint is the new icon)

* camera/video/720p

* accelerometer

* microphone

The following doesn't work:

* nothing that I have found
[Nexus 7 Android Development] GianniDPC:
Can you please share your build?, I don't have my Ubuntu set up atm
[Nexus 7 Android Development] fattire:
Why I'm not posting a binary (yet)

As I've done previously with ICS and Jellybean, I'm giving the "do-it-yerselfers" an opportunity to build their own versions as an incentive to learn. Since we created the how to build CM instruction series on the wiki, thousands and thousands of people have learned and succeeded, which I think is super important for the universe (long rant skipped) :)

I understand it's not entirely fair to everyone as some people who want to learn (or even know how) to build may not have a computer available, or the time free to do it, and that's a totally fair objection. But since this is a "build CM" thread, and since the more people who know how to build, the better, I'm electing to weigh the value of encouraging people to build for themselves above the immediate gratification of getting a build on day 1 for non-builders.

So stand by-- once this thing stabilizes a bit more, you'll get it :) And of course, if someone else builds it and wants to be a rockstar, that's on them.
[Nexus 7 Android Development] AidenM:
Yep, fattire was one of the devs who introduced CM building for the Nook Color. Many people complained and moaned when he said you had to build it yourself, but in the end I'm sure hundreds of people (including myself) learned the ins and outs for android and ultimately benefitted from what was once an "unfair decision".
[Nexus 7 Android Development] taylor.fowler:
Same here. Been a while since I've dusted that thing off but I'm pretty sure it's on my desk somewhere (still running cm9). Encouraging people to learn is better for the community folks.
[Nexus 7 Android Development] AidenM:
Yep, brings backs memories...

Anyways back on topic, I assume this can be compiled on Mac as long as you have the necessary packages available? IIRC you can compile AOSP on Mac which is the same procedure as cm but slightly modified? Downloading the tools and will report back though.
[Nexus 7 Android Development] fattire:
If the ART runnable crashes CM... here's how to get back to the Dalvik VM.

Here's another reason why not to release binaries until everything's tested--

For fun, I decided to enable the ART runtime instead of the Dalvik VM in KitKat on the N7, not realizing that this completely destabilizes the system to the point it doesn't run at all. Whoops! :)

Thanks to some trial and error w/ cdesai, we found a way to restore to Dalvik without having to factory reset and all that ugliness. I think you needed to have set root in your shell (if you haven't, you can still set this from a recovery boot, though there would be more steps which I'll leave for you to figure out. If you've encrypted your /data partition too though, you're probably SOL unless you can decrypt it)

Anyhoo, from adb shell:

$ su

# echo -n libdvm.so > /data/property/persist.sys.dalvik.vm.lib

# reboot

No doubt in the coming days there will be lots of people on lots of devices who turn on ART and hose their system, so send them here. In fact, let people from Paranoid Android know (since I see this warning in the link above):

Warning: Do not try this with the Paranoid Android (or other AOSP) build right now. There is an incompatibility with the current gapps package that causes rapid crashing, making the interface unusable.

The above command line fix should hopefully restore things to kosher again. Again thanks to cdesai for looking up the right setting to set the dalvik vm.
[Nexus 7 Android Development] sparksco:
Cool stuff. Is funny you mention encrypting your device. I've been thinking about doing it to my n4 for lost and theft prevention. I think I'll just wait til I get the n5 and enable art. I need to do some more research first though.
[Nexus 7 Android Development] AbbaSou:
Do you mean from a working booted environment? Cuz I haven't, and I can't boot, and that'd suck if I have to wipe and start over...

FWIW, I followed the steps and had a # command line. It's optimizing all 235 installed apps again. That's like the 4th time tonight. Here's hoping....

---------- Post added at 09:33 PM ---------- Previous post was at 09:20 PM ----------

Success! It's booted, and everything is just how I left it. Thanks for the help!
[Nexus 7 Android Development] Alrahambra:
Definately good instructions and I'm quite sure that these will work for people who have brains nearby.
[Nexus 7 Android Development] Streuli273:
Having trouble compiling, get Bluetooth error?

I have been trying to compile cm11 for my nexus 7, but when running brunch grouper, I get an error, stopping the build:

[make: *** No rule to make target `system/bluetooth/data/main.nonsmartphone.conf', needed by `/home/streuli/android/system/out/target/product/grouper/system/etc/bluetooth/main.conf'. Stop.
make: *** Waiting for unfinished jobs....

I have deleted the bluetooth folder from device/asus/grouper.

I used the local-manifest to pull the cm-10.2 branch from the nexus 7 tree and then ran repo sync, which took a couple attempts to get a fast download, playing with -f, -c and -j32.

I have been using this wiki, changing for cm11 where appropriate :http://wiki.cyanogenmod.org/w/Build_for_grouper

Any help to get it to build?

Thanks
[Nexus 7 Android Development] fattire:
Yes you need to do more than change the Bluetooth thing. I've posted two commits as well as other info. Scroll up and you should see it. Or, go to the first post in this thread and it's linked at the top.

Wow. Three days and no one else finished a full build to the end? I'm actually kind of surprised. I guess I sort of figured that other people would want kit kat too.... And if youve built cm before it's really really really easy.... I kind of did the merging work already. It's just a matter of downloading source, applying some commits, and building.
[Nexus 7 Android Development] sgt. meow:
[MENTION=4325553]koko98[/MENTION] has a CM11 build running. I'm going the AOSP way.
[Nexus 7 Android Development] fattire:
I dont' know what the AOSP way means, but anyway.. wanted to confirm for everyone that recovery.img from $OUT works fine, meaning you can upgrade to the recovery built w/kitkat as well.

Update:

To make this even EASIER for everyone, I've updated my local device repository with all the changes that you need. So it's seriously as easy now, if you've built cm 10.2 before, as:

cd ~/android/system

repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0

edit .repo/local_manifests/roomservice.xml to make the device repo come from:

<project name="fat-tire/android_device_asus_grouper" path="device/asus/grouper" remote="github" revision="cm-11.0"/>

and the kernel:

<project name="CyanogenMod/android_kernel_asus_grouper" path="kernel/asus/grouper" remote="github" revision="cm-10.2"/>

repo sync

verify you're building w java 6 from sun and

brunch grouper

I can't make it much simpler than that.
[Nexus 7 Android Development] MidnightNinja:
I successfully built a working CM version with rotation :)

Thanks fattire!
[Nexus 7 Android Development] fattire:
...and then there were two! Congratulations!
[Nexus 7 Android Development] thelangosta:
I would like to try to do a build but don't have a build environment set up. Is it best to do it in Linux. My Windows machine is more powerful than the old laptop that's running Linux Lite. Could you recommend one of the tutorials/guides for setting things up. I know there are several but I don't know which is the best/most thorough.

Thanks
[Nexus 7 Android Development] fattire:
I'd recommend perhaps running Linux on your windows machine with a virtual machine (VM) such as Virtualbox, which is free.

Instructions for building are here: http://wiki.cyanogenmod.org/w/Build_for_grouper

Follow those instructions + the few changes in my 6 steps if you want cm 11.

Good luck and post any questions here. I or someone else can help you.
[Nexus 7 Android Development] MidnightNinja:
This is a very good tutorial by imnuts on the matter:

http://www.imnuts.org/development-environment/

Follow his directions up to the point of repo init for toro, and start from Fattire's note
[Nexus 7 Android Development] MaceBewley:
Don't get any easier than that!!

Synced and building!!!
[Nexus 7 Android Development] Streuli273:
Cannot Boot?

I have successfully compiled CM11 from your source, with no errors!

However, I cannot boot, I flashed the ROM with TWRP 2.6.3.1, rebooted and couldn't get past the Google screen(before the kernel splash screen). Tried flashing again, same result. Tried flashing with CWM, same result. Tried formatting everything, same result. Tried using fastboot to flash the boot.img, recovery.img and system.img, same result. I tried flashing a different kernel (oxydo for 4.4), but still cannot get to the boot sequence.

I don't know how to fix it.

I'm going to repo sync the whole source again, and start from scratch, syncing overnight.

Any help?

Thanks.
[Nexus 7 Android Development] Screw Muggz:
My Output?

I followed the above directions and this is my terminal out put.

I also have module-init-tools installed despite the warning.

Building modules, stage 2.
MODPOST 1 modules
CC fs/cifs/cifs.mod.o
LD [M] fs/cifs/cifs.ko
make[1]: Leaving directory `/home/muggz/Android/cm11/kernel/asus/grouper'
make -C kernel/asus/grouper O=/home/muggz/Android/cm11/out/target/product/grouper/obj/KERNEL_OBJ INSTALL_MOD_PATH=../../system ARCH=arm CROSS_COMPILE="/home/muggz/Android/cm11/prebuilts/misc/linux-x86/ccache/ccache /home/muggz/Android/cm11/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-" modules_install
make[1]: Entering directory `/home/muggz/Android/cm11/kernel/asus/grouper'
INSTALL fs/cifs/cifs.ko
DEPMOD 3.1.10-g30c5396
Warning: you may need to install module-init-tools
See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt
make[1]: Leaving directory `/home/muggz/Android/cm11/kernel/asus/grouper'
mdpath=`find /home/muggz/Android/cm11/out/target/product/grouper/system/lib/modules -type f -name modules.order`; if [ "$mdpath" != "" ];then mpath=`dirname $mdpath`; ko=`find $mpath/kernel -type f -name *.ko`; for i in $ko; do /home/muggz/Android/cm11/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-strip --strip-unneeded $i; mv $i /home/muggz/Android/cm11/out/target/product/grouper/system/lib/modules/; done; fi
mdpath=`find /home/muggz/Android/cm11/out/target/product/grouper/system/lib/modules -type f -name modules.order`; if [ "$mdpath" != "" ];then mpath=`dirname $mdpath`; rm -rf $mpath; fi

Java version:

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

any feedback as to why this is occurring would be appreciated.

Thank you.
[Nexus 7 Android Development] fattire:
I look for the actual line with "Error" in it, as it usually explicitly points out the problem. In this case either you didn't include it or it isn't there. The error appears to be related to the part where it builds the cifs module...

Without seeing the error itself, here are some ideas:

1. redo the kernel build by removing /home/muggz/Android/cm11/out/target/product/grouper/obj/KERNEL_OBJ

2. clear your ccache with ccache -C

3. repo sync just in case.

4. remove completey (--purge) then re-install module-init-tools just to be on the safe side.

Then try again.

ALSO-- to the person above who has problems getting past the "google" screen... are you able to get a logcat? In other words, is the kernel loading (screen turns black usually post "google) and then android failing somewhere before the boot animation? ("cyanogenmod" + spinning blue circle) -- if you're able to get a logcat of the error, please post a link to a pastebin. If not, then for some reason the kernel isn't loading or the kernel isn't able to load the ramdisk. Did you update the bootloader to the latest (I think it was last updated in 4.2)...

Finally, in IRC-- cpatrick wrote:

<cpatrick08> fattire,I am trying to build cyanogenmod 11 for nexus 7 2012 , & I ran repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0 but I do not have a local_manifests folder to esit the roomservice.xml file

But cpatrick left before I saw this... so if you haven't built cm before, you've never done the "brunch" command probably, which would have set up the roomservice.xml file. The idea behind this file is-- okay, a bit of background.

So back when cyanogenmod was supported on only a few devices, the official CM manifest (~/android/system/.repo/manifest.xml), which contains a list of all the individual repositories that makes up CM, included all the device/ and kernel/ repositories. But as more and more devices were ported to CM over time, it didn't make sense to force EVERYONE to download and keep up-to-date these folders for EVERY device. So instead, a "supplemental" list of repositories is used-- which used to be called local_manifest.xml but has recently been moved into the /local_manifests directory (so you can have more than one file). Whose idea it was to call this file "roomservice" I have no idea.

The long and the short of it is-- you can create this using the "brunch DEVICE_CODENAME" command, or make it manually. Here's a sample (short) .repo/local_manifests/roomservice.xml:

<?xml version="1.0" encoding="UTF-8"?>

<manifest>

<project name="fat-tire/android_device_asus_grouper" path="device/asus/grouper" remote="github" revision="cm-11.0"/>

<project name="CyanogenMod/android_kernel_asus_grouper" path="kernel/asus/grouper" remote="github" revision="cm-10.2"/>

</manifest>

Sometimes people will add references to repositories containing proprietary blobs or other devices to that list, but that should get you started if you don't want to add it with the "brunch" or "breakfast" commands.
[Nexus 7 Android Development] Screw Muggz:
Thank you fattire I appreciate the tips and rapid response! :good:
[Nexus 7 Android Development] TeamMex:
I have this problem since he got the source code from the page of google

Someone could help me?
[Nexus 7 Android Development] fattire:
I've seen this error before. I believe it results from using a java that is not sun's 1.6

openjava isn't good enough.
[Nexus 7 Android Development] TeamMex:
I use JDK from sun 1.6
[Nexus 7 Android Development] fattire:
Hmm. If you look at hashset_jni.h, lines 10-29 do you see anything that might have triggered those errors?
[Nexus 7 Android Development] TeamMex:
well I check the file thnks :)
[Nexus 7 Android Development] fattire:
Some benchmarks...

Quadrant isn't necessarily a reliable benchmark, but for fun...

kernel = stock CM

Governor = performance

io scheduler = bfq

(with ART running...)

Run a few times, seems to fall in this range.

Considering that 3517 was a typical run before, I'd say this is pretty good:

That's a 32% improvement.

More benchmarks:

Linpack (single thread)

Run #1: MFLOPS 69.284 1.21 seconds

Run #2: MFLOPS 72.208 1.6 seconds

Run #3: MFLOPS 70.507 1.19 seconds

Compare with previous score of 47.76:

Linpack (multithread)

Run #1: MFLOPS 160.33 1.05 seconds

Run #2: MFLOPS 134.933 1.25 seconds

Run #3: MFLOPS 1.39.972 1.21 seconds

Compare with previous score of 95.616:

As expected, I don't see any better (slightly worse) scores in "Basemark X" (6.117fps "onscreen", 2.958 fps "offscreen") from that other site, but 'm surprised to see any improvement with linpack... I'd assume that was all compiled C so wouldn't be affected by ART. Maybe it's just due to improvements in 4.4? (anyone have any idea?)
[Nexus 7 Android Development] Screw Muggz:
No Boot

I managed to get a full build with no errors, now the rom wont boot.

Tried flashing the .zip file and then flashing all .img files with fastboot.

I guess I will make clobber and try to build again.
[Nexus 7 Android Development] fattire:
Logcat?

Did you remember to include the binary blobs?
[Nexus 7 Android Development] Screw Muggz:
DOH!!!

*FACEPALM* I didnt restore the binaries....

Thanks fattire
[Nexus 7 Android Development] mateorod:
It is always the first thing to check.

I build all the time,and I still periodically load a rom to blackscreen. Whoops, clean build coming up.

For what it is worth, I found myself needing to quickly build for grouper instead of mako (my usual target). I synced with upstream only to find the cm-11.0 branches have not been pushed. I was about to throw together the makefiles myself, when I thought..."Hmm...I bet fattire already has a local_manifest for grouper out too."

Thanks for the build guides, I followed your guide to learn how to build ICS some time back.
[Nexus 7 Android Development] Streuli273:
I have (I think) solved my previous problem of not getting past the "Google" screen, before kernel/ramdisk load; I had not ripped the blobs from my device, so I couldn't see anything. I wiped and downloaded source, starting again, again. This time using

cd ~/android/system/device/asus/grouper

./extract-files.sh

This time, however I got a new error:

[B][I]Import includes file: /home/streuli/android/system/out/target/product/grouper/obj/EXECUTABLES/bootanimation_intermediates/import_includes
make: *** No rule to make target `vendor/asus/grouper/proprietary/btmacreader', needed by `/home/streuli/android/system/out/target/product/grouper/obj/EXECUTABLES/btmacreader_intermediates/btmacreader'. Stop.
make: *** Waiting for unfinished jobs....
Export includes file: frameworks/base/cmds/bootanimation/Android.mk -- /home/streuli/android/system/out/target/product/grouper/obj/EXECUTABLES/bootanimation_intermediates/export_includes[/I][/B]

Before the build I used make clobber in ~/android/system, as I had a build with no blobs in /OUT

I am still building from your fork, from cm grouper. Unsure of what is causing the problem.

Any ideas?

Thanks.
[Nexus 7 Android Development] fattire:
I don't think that the extract-files.sh script was ever updated for 10.2-- the safest/best way to do it is to get the 4.3 installers from here and then run each one. That should ensure you have the proper blobs in the right place.
[Nexus 7 Android Development] Sultanxda:
I went through that a while back and made a convenient repo for the 4.3 blobs: https://github.com/sultanxda/android_vendor_asus_grouper
[Nexus 7 Android Development] koko98:
A very noob question. To update source I just have to do repo sync?

Enviado desde mi Nexus 7 mediante Tapatalk
[Nexus 7 Android Development] fattire:
Yep.
[Nexus 7 Android Development] underwaterjr:
Is there anything wrong with using the blobs from TheMuppets github? Those are the ones I've been using for all my builds up to this point. Haven't switched over to cm 11 yet.
[Nexus 7 Android Development] Screw Muggz:
Fattire Mateorod I got my build working, thanks for the input and help. I appreciate it!!
[Nexus 7 Android Development] Screw Muggz:
Both Nexus 7's get official KitKat updates today. Official binaries anyone?
[Nexus 7 Android Development] AidenM:
Source: http://www.engadget.com/2013/11/12/android-4-4-kitkat-nexus-7-nexus-10/

I would wait a little though for the folks over at google to release the new factory images & binaries.
[Nexus 7 Android Development] Screw Muggz:
Looks like the Nexus 7 won't be getting the Google Experience Launcher, or the transparent system bars....might not want them now.
[Nexus 7 Android Development] Streuli273:
Thanks!

That blobs repo works perfectly. Finally got a successful build!
[Nexus 7 Android Development] taylor.fowler:
Noob alert, how/where do I add that to my repository?

Do I add it to my .repo/local_manifest/roomservice.xml as a new project node? or do I need to run some command in ~/device/asus/grouper/vendor?

Thanks in advance for the help guys.
[Nexus 7 Android Development] Streuli273:
Add it to your roomservice.xml as a new node, as you said, making the path as /vendor. Then repo sync and brunch grouper
[Nexus 7 Android Development] taylor.fowler:
Hrmph, keep getting the same error:

error: Cannot fetch sultanxda/android_vendor_asus_grouper

here's my roomservice.xml:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="fat-tire/android_device_asus_grouper" path="device/asus/grouper" remote="github" revision="cm-11.0"/>
<project name="CyanogenMod/android_kernel_asus_grouper" path="kernel/asus/grouper" remote="github" revision="cm-10.2"/>
<project name="sultanxda/android_vendor_asus_grouper" path="device/asus/grouper/vendor" remote="github"/>
</manifest>

Anything look off?
[Nexus 7 Android Development] fattire:
Quick Note: I just made it a lot easier w/respect to the device folder by pushing to the mainline branch... so you can change the fat-tire repo back to cyanogenmod and it should just pull... at some point I'll need to just copy the 10.2 to the 11.0 branch in the kernel too. Actually though, it may make more sense to wait until we see which kernel comes with the official 4.4 AOSP binary, as there is a 3.10 kernel in the official repository. So I'll hold off on that for the moment... unless someone has an OTA and can check..

Update: kernel on OTA confirmed to be 3.1, so the 10.2 branch was now forked into cm-11.0 (no changes). This means a simple "breakfast grouper" should work, and no need to change the roomservice.xml file as far as that goes.
[Nexus 7 Android Development] Sultanxda:
Change the line with sultanxda in it to this:

<project name="sultanxda/android_vendor_asus_grouper" path="vendor" remote="github" revision="master" />
[Nexus 7 Android Development] fattire:
Kernel and device now have cm-11.0 branches

Forthose who may have missed above, there are now cm-11.0 branches for both kernel and device, meaning if you changed your roomservice.xml file to use either cm-10.2 or fat-tire, you can change them to cm-11.0 and cyanogenmod respectively and you should be good to go!
[Nexus 7 Android Development] mastamoon:
Any idea when the 4.4 blobs will be pushed to TheMuppets?
[Nexus 7 Android Development] taylor.fowler:
Ahhhhhhhh. THANK YOU.

Thought revision was optional.

Edit: I see my path was wrong, too. thanks again for the help.
[Nexus 7 Android Development] underwaterjr:
They still have been updated on google's page yet.
[Nexus 7 Android Development] mastamoon:
I figured somebody would have pulled the required from a device that took the OTA by now :)

Im on IRC trying to find somebody to pull them for me and see if they build ok.