[ROM] Unofficial Linaro CM 10.1 + Bionic Nightlies *Tutorial, Compile Yourself!!*

Search This thread

trailblazerz11

Senior Member
Apr 4, 2011
1,266
1,328
Portland, OR
github.com
I know you dont want to customize cm, but cant you change the auto update function to target your kang instead of official cm 10.1? Would be great!!!

I dont know how to compile from source but im an Android app developer (my proffesion) and i could help you out with the APK code changes if you want :)

I also want to thank you for a super awesome ROM!!!

Sent from my Nexus 4 using Tapatalk 2

I would love for that to work however I haven't a clue how to modify and would probably need my own server :(

Super slow to download, and interrupts before the end :(

Sent from my Nexus 4 using xda app-developers app

Use the mirror, its actually more reliable however I would like to promote the main site since its specific for Android communities and I know they are working hard to improve services.
 
  • Like
Reactions: cowst

air2k57

Senior Member
Oct 5, 2009
1,431
159
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

This is a "feature" that cm added in. You have to go to developer options to set it back to the way it was. Very stupid in my opinion.

Got it! It seems as if they are trying to make their Roms harder for noobs to mess up, kind of sad if there are people that are rooted with that little.knowledge.

Sent from my Nexus 4 using xda app-developers app
 

azrash

Senior Member
Sep 18, 2010
1,221
669
Kuala Lumpur
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

Got it! It seems as if they are trying to make their Roms harder for noobs to mess up, kind of sad if there are people that are rooted with that little.knowledge.

Sent from my Nexus 4 using xda app-developers app
I like their direction with the distribution, it makes me feel easier to recommend using a custom ROM to my friends that are not really techy. They might mess something up if they don't do all this, just like how the performance option is hidden by default like the developer option.

For us power users, this might be a bit of an annoyance since you have to enable them first, but for the general users, this might be the better direction.

Flowed from my Nexus 4
 

gianton

Inactive Recognized Contributor
Feb 5, 2009
12,021
9,953
Thessaloniki
Xiaomi Mi Mix 2S
Xiaomi Mi 9
I like their direction with the distribution, it makes me feel easier to recommend using a custom ROM to my friends that are not really techy. They might mess something up if they don't do all this, just like how the performance option is hidden by default like the developer option.

For us power users, this might be a bit of an annoyance since you have to enable them first, but for the general users, this might be the better direction.

Flowed from my Nexus 4

+1
 

thracemerin

Senior Member
Oct 19, 2011
5,458
5,764
Toronto
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

I like their direction with the distribution, it makes me feel easier to recommend using a custom ROM to my friends that are not really techy. They might mess something up if they don't do all this, just like how the performance option is hidden by default like the developer option.

For us power users, this might be a bit of an annoyance since you have to enable them first, but for the general users, this might be the better direction.

Flowed from my Nexus 4

They also assume that most users will use the CyanogenMod updater or another auto updater (cyan delta, goo manager, etc) to update the ROM which basically eliminates the need to enter recovery or boot loader mode under normal circumstances and in the unlikely event you do need to do so you probably either know the key combos or at least how to use Google well enough to find them.

Sent from my Nexus 7 using Tapatalk 2
 
  • Like
Reactions: azrash

azrash

Senior Member
Sep 18, 2010
1,221
669
Kuala Lumpur
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

I would love for that to work however I haven't a clue how to modify and would probably need my own server :(



Use the mirror, its actually more reliable however I would like to promote the main site since its specific for Android communities and I know they are working hard to improve services.
Hi trailblazer, thanks for the mirror. I would recommend using Goo.im too, the benefit of this is it can be used with the Goo manager app, users can set it to check for new releases and automatically download them. It'll be a bit more easier for users to update their favourite CM Linaro build.

Flowed from my Nexus 4
 

trailblazerz11

Senior Member
Apr 4, 2011
1,266
1,328
Portland, OR
github.com
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

Hi trailblazer, thanks for the mirror. I would recommend using Goo.im too, the benefit of this is it can be used with the Goo manager app, users can set it to check for new releases and automatically download them. It'll be a bit more easier for users to update their favourite CM Linaro build.

Flowed from my Nexus 4

Ill try and apply, hopefully they let me ;) I would like goo.im too.

Also, I currently have a very odd bug. For titanium backup If i try to backup apps it soft reboots after awhile. I'm thinking this is an isolated issue for me.. anyone confirm?

Will do a clean install next time.. So weird....

Sent from my Nexus 4 using Tapatalk 2
 
Last edited:
  • Like
Reactions: azrash

jc monkeyballs

Senior Member
Nov 24, 2008
232
68
Ill try and apply, hopefully they let me ;) I would like goo.im too.

Also, I currently have a very odd bug. For titanium backup If i try to backup apps it soft reboots after awhile. I'm thinking this is an isolated issue for me.. anyone confirm?

Will do a clean install next time.. So weird....

Sent from my Nexus 4 using Tapatalk 2

I just successfully ran a forced backup of all my apps. No reboot. I'm running your latest 2/19 kang with Franco r83.

Thanks for the great ROM. Very smooth. :highfive:

Also, did CM get rid of the reboot options? I'm used to being asked if I want to reboot to bootloader or recovery, but those options are gone.
 
Last edited:
  • Like
Reactions: trailblazerz11

75markus

Senior Member
Mar 30, 2010
1,875
1,722
127.0.0.1
I just successfully ran a forced backup of all my apps. No reboot. I'm running your latest 2/19 kang with Franco r83.

Thanks for the great ROM. Very smooth. :highfive:

Also, did CM get rid of the reboot options? I'm used to being asked if I want to reboot to bootloader or recovery, but those options are gone.

you have to enable them in developer options for now on ..
 
  • Like
Reactions: jc monkeyballs

Smallsmx3

Senior Member
Jul 28, 2010
4,138
781
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

Does this have the screen color fix

Sent from my Galaxy Nexus using xda premium
 
B

bioinfoboy

Guest
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

Are you building one for Feb 20?

Sent from my Nexus 4 using xda app-developers app
 

richardddd

Senior Member
Aug 17, 2010
226
121
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

I would love for that to work however I haven't a clue how to modify and would probably need my own server :(

As i said i could help you out with the code modifications :) you don't need a server for the rom files just a server for update meta info (I can use one server from work just to store that file). Just store the zips on zippyshare for example and we'll scoop the site from within the update app

Sent from my Nexus 4 using Tapatalk 2
 
  • Like
Reactions: cheapskate88

Goog1e Phone

Senior Member
May 24, 2009
669
110
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

+1
Running it with motley's b38 kernel, I haven't experienced a faster combo since I got my N4!

I gotta give this rom a try. I see you in every thread and if you say this is the best combo you've ever had than I definitely need to flash this asap! =)

Update: This rom is pretty awesome. Fast and smooth. But is there any way to change the nav bar height and the button glow animation on the navbar?

Sent from my Nexus 4
 
Last edited:

azrash

Senior Member
Sep 18, 2010
1,221
669
Kuala Lumpur
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

I gotta give this rom a try. I see you in every thread and if you say this is the best combo you've ever had than I definitely need to flash this asap! =)

Update: This rom is pretty awesome. Fast and smooth. But is there any way to change the nav bar height and the button glow animation on the navbar?

Sent from my Nexus 4
those features are most likely never going to be available on a CyanogenMod ROM since it breaks the android design and guideline. You might want to give other distribution a try, IINM, AOKP had that kind of option and they do have a linaro + krait patches optimized build too.

Flowed from my Nexus 4
 
  • Like
Reactions: Goog1e Phone

apatal

Senior Member
Feb 27, 2012
3,576
2,066
Manila
Hi guys. Wanted to try this out as I'm used to how CM performs and wanted to see how much this Linaro/bionic patches affect performance.

Just a question, will updating this ROM to your latest release as easy as flashing latest build, like in CM, or do I need to reflash Gapps as well? Thanks! :)
 

trailblazerz11

Senior Member
Apr 4, 2011
1,266
1,328
Portland, OR
github.com
Re: [ROM][KANG] Linaro CM 10.1 + Bionic *2/19 Nightly 4.2.2*

Are you building one for Feb 20?

Sent from my Nexus 4 using xda app-developers app

Build next build soon. Midnight US PST





Hi guys. Wanted to try this out as I'm used to how CM performs and wanted to see how much this Linaro/bionic patches affect performance.

Just a question, will updating this ROM to your latest release as easy as flashing latest build, like in CM, or do I need to reflash Gapps as well? Thanks! :)

Yes just treat like CM nightlies, can dirty flash new updates.

Sent from my Nexus 4 using Tapatalk 2
 

Top Liked Posts

  • There are no posts matching your filters.
  • 79
    After trying other ROM's, I would always come back to CM 10.1 for its infrastructure, stability and clean features, however I still wanted experimental bleeding edge optimizations like the Linaro toolchain.
    These releases will only feature Linaro toolchain, bionic optimizations and other minor changes, generally keeping CM10.1 unaltered for the most part. I did next to no work, just compiled with patches by others. If you want to learn how, there's a tutorial on post #3

    Instructions

    NANDroid
    Wipe/Factory Reset if coming from anything other than CM 10.1 (Seems to be okay to dirty from from non-linaro cm nightlies)
    Wipe Cache
    Flash .zip
    Flash custom kernel
    Flash gapps if needed
    Reboot

    Download

    www.trailblazerz11.com

    Goo.im Also Availible on GooManager

    Nexus 7 Thread

    Disclaimer: I am not responsible for anything that may happen.

    Credits:
    Cyanogenmod Donate
    Linaro
    Google
    Eug39 for help with errors
    Evan McClain for cm10.1 gerrit patches
    codeworkx for patches
    bricked for kernel patches
    EvoXOhio for helping get this whole thing started

    Github
    https://github.com/trailblazerz
    37
    Tutorial Revamped Feedback please
    Tackle_berry was able to compile it and modified the tutorial http://xdaforums.com/showpost.php?p=39567944&postcount=623
    Currently has some bad objects in the cherry-picks because I keep rebasing to make sure commits won't have conflicts, will think of a better format, for now manually cherry-pick from my github sowwy

    Set up CM build environment - CM wiki
    Best to compile a build so you know everything is working before adding Linaro
    note: My build enviroment is on Arch Linux on latest RC kernel.

    Download and set up Linaro toolchain
    http://www.linaro.org/downloads/ Components, Android, Linaro 4.7 ICS/JB
    Extract and rename the folder to linaro-4.7 and place it in /prebuilts/gcc/linux-x86/arm

    "Linarize" Automated now
    Start a linaro branch if you are going further add to it otherwise you can skip the following and work off branch and just apply the script every time.
    Code:
    repo start linaro --all

    Download the attached script and run it. It will cherry-pick all the linaro patches (with the exception of bionic which is pulled)

    Done :)

    Updating
    repo sync to sync from CM then run the script again if you didnt make a linaro branch. If you did repo sync should automatically update your branches

    I cannot control repo syncs causing conflicts or new commits from CM (or by you) cause build errors. I will try to fix and upload changes asap.

    IMO the most enjoyable part of compiling your own build is banging your head on an error then eventually finding a fix and having everything work as its suppose to. It's about the journey :)
    28
    Changelog (besides cm changes)

    6/6- Updated to 2013.05 Linaro 4.7
    5/24- libm: sqrt and sqrtf via ARM vsqrt instruction.
    5/18- optimistic pow
    5/13- mvectorize-with-neon-quad
    4/24- Added keymaster blobs to fix Security FC
    4/14- Updated to 2013.04 Linaro Thanks kszaq again
    4/4- Arch specific strcmp from Google
    4/3- Updated to 2013.03 Linaro Thanks kszaq
    3/11- mcpu a15
    2/26-Applied fix for wilhelm, reverted O2 to wilhelm
    2/25-Reduce Wilhelm flags
    2/21-Memspy for krait optimizations much fast than A-15 memspy
    2/19-Revert to old memspy with krait optimizations corrected for testing
    2/18-ARMv7 optimized memchar()
    A-15 memspy
    Change Krait flag value
    2/13-Added bionic improvement to memspy from paranoid android
    Added vfpv4 flag
    2/11-Added bionic optimizations for A-9 from CM gerrit
    Added some flags
    2/8-All widgets now work in lockscreen
    2/6-Added ARMv7 optimizations to bionic
    2/5-Initial Release patched to compile with linaro
    20
    After thinking about it for awhile (sorry changed opinions several times), I won't not to merge Nav Bar size edit. The reviews on gerrit explain why it was not merged to CM.

    I have decided to reaffirm the goal of this ROM is a CM kang with added Linaro/bionic and other optimizations, no additional features. (I completely forgot about widgets on lockscreen, I may just get rid it later) Personally, I like CM and always end up on it after trying other ROM's. Clean and has the features I need.

    Thanks all for the suggestions everyone, appreciated. I would like to make everyone happy but in the end thats not possible but hopefully the majority are. I highly encourage compiling your own ROM with your personal taste if you have the time and interest. (Hopefully my terrible tutorial helps a bit if you want linaro, I am thinking about a way to rework my branches and make it easier though)
    20
    Here is my updated/improved compilation guide based on trailblazerz11's

    Thanks trailblazerz11 for his work and help on this guide.

    More experienced users please let me know if I am doing anything wrong and how to make it better.
    I am a .NET developer so I had to learn a lot in a week or so :) Still not able use git as I would like to....


    Set up CM build environment

    CM wiki
    I used the guide below to setup my environment collaboration with some parts of CM Wiki one ( I think latter one explained why you are doing what better )
    [GUIDE] How to Properly Configure Ubuntu 12.10 64bit - Build Jellybean (All Variants)

    My own build enviroment is running on Linux Mint 14 x64 Nadia. Setting up is same with Ubuntu 12.04 or 12.10 64 Bit
    After setting up your build env. init your repo and do a;

    Code:
    repo sync

    This is gonna take a long time, you know.

    After repo syncs w/o any error.
    Build you stock CM10.1 so you know everything is working before adding Linaro patches from github

    Code:
    source build/envsetup.sh
    
    export USE_CCACHE=1
    
    breakfast mako
    
    brunch mako

    Wait some more :good:

    After a successful initial build you are sure that your local repo compiles fine an ready for applying linaro branches.

    then;
    Start a new branch called Linaro
    Code:
    repo start linaro --all

    Git Clone roomservice.xml file in my local_manifest repo to ~/(where-your-cm-folder-is)/.repo/local_manifests -- You can overwrite the existing one...
    You can either git clone roomservice.xml to the ~/(where-your-cm-folder-is)/.repo/local_manifests folder or you can just replace the contents with this;

    enter
    Code:
    git clone https://github.com/TackleBerryCrash/local_manifests.git

    or replace contents of the roomservice.xml with the following;
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>
      	<project name="CyanogenMod/android_device_lge_mako" path="device/lge/mako" remote="github" />
      	<project name="CyanogenMod/lge-kernel-mako" path="kernel/lge/mako" remote="github" revision="jellybean" />
    
    	<remove-project name="CyanogenMod/android_frameworks_base" />
    	<project name="TackleBerryCrash/android_frameworks_base" path="frameworks/base" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_build" />
    	<project name="TackleBerryCrash/android_build" path="build" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_busybox" />
    	<project name="TackleBerryCrash/android_external_busybox" path="external/busybox" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_chromium" />
    	<project name="TackleBerryCrash/android_external_chromium" path="external/chromium" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_dnsmasq" />
    	<project name="TackleBerryCrash/android_external_dnsmasq" path="external/dnsmasq" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_e2fsprogs" />
    	<project name="TackleBerryCrash/android_external_e2fsprogs" path="external/e2fsprogs" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_lsof" />
    	<project name="TackleBerryCrash/android_external_lsof" path="external/lsof" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_openssh" />
    	<project name="TackleBerryCrash/android_external_openssh" path="external/openssh" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_openssl" />
    	<project name="TackleBerryCrash/android_external_openssl" path="external/openssl" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_openvpn" />
    	<project name="TackleBerryCrash/android_external_openvpn" path="external/openvpn" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_ping" />
    	<project name="TackleBerryCrash/android_external_ping" path="external/ping" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_ping6" />
    	<project name="TackleBerryCrash/android_external_ping6" path="external/ping6" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_skia" />
    	<project name="TackleBerryCrash/android_external_skia" path="external/skia" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_stlport" />
    	<project name="TackleBerryCrash/android_external_stlport" path="external/stlport" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_v8" />
    	<project name="TackleBerryCrash/android_external_v8" path="external/v8" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_webkit" />
    	<project name="TackleBerryCrash/android_external_webkit" path="external/webkit" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_wpa_supplicant_8" />
    	<project name="TackleBerryCrash/android_external_wpa_supplicant_8" path="external/wpa_supplicant_8" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_frameworks_av" />
    	<project name="TackleBerryCrash/android_frameworks_av" path="frameworks/av" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_frameworks_ex" />
    	<project name="TackleBerryCrash/android_frameworks_ex" path="frameworks/ex" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_frameworks_native" />
    	<project name="TackleBerryCrash/android_frameworks_native" path="frameworks/native" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_frameworks_rs" />
    	<project name="TackleBerryCrash/android_frameworks_rs" path="frameworks/rs" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_frameworks_wilhelm" />
    	<project name="TackleBerryCrash/android_frameworks_wilhelm" path="frameworks/wilhelm" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_system_security" />
    	<project name="TackleBerryCrash/android_system_security" path="system/security" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_hardware_qcom_display-caf" />
    	<project name="TackleBerryCrash/android_hardware_qcom_display-caf" path="hardware/qcom/display-caf" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_libcore" />
    	<project name="TackleBerryCrash/android_libcore" path="libcore" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_bluetooth_bluedroid" />
    	<project name="TackleBerryCrash/android_external_bluetooth_bluedroid" path="external/bluetooth/bluedroid" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_oprofile" />
    	<project name="TackleBerryCrash/android_external_oprofile" path="external/oprofile" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_hardware_qcom_display" />
    	<project name="TackleBerryCrash/android_hardware_qcom_display" path="hardware/qcom/display" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_hardware_qcom_media" />
    	<project name="TackleBerryCrash/android_hardware_qcom_media" path="hardware/qcom/media" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_vendor_cm" />
    	<project name="TackleBerryCrash/android_vendor_cm" path="vendor/cm" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_frameworks_compile_libbcc" />
    	<project name="TackleBerryCrash/android_frameworks_compile_libbcc" path="frameworks/compile/libbcc" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_external_clang" />
    	<project name="TackleBerryCrash/android_external_clang" path="external/clang" revision="linaro" />
    
    	<remove-project name="CyanogenMod/android_bionic" />
    	<project name="TackleBerryCrash/android_bionic" path="bionic" revision="linaro" />
    
    	<remove-project name="CyanogenMod/lge-kernel-mako" />
    	<remove-project name="CyanogenMod/android_device_lge_mako" />
    	<project name="TackleBerryCrash/lge-kernel-mako" path="kernel/lge/mako" remote="github" revision="linaro" />
    	<project name="TackleBerryCrash/android_device_lge_mako" path="device/lge/mako" remote="github" revision="linaro" />
    </manifest>

    again do a repo sync this will pull the linaro patches to the linaro branch;

    Code:
    repo sync

    Download and set up latest Linaro toolchain

    http://www.linaro.org/downloads/ ---> Components, Android, Linaro 4.7 ICS/JB
    Download the latest toolchain and copy the tar.bz2 file to /prebuilts/gcc/linux-x86/arm
    Extract ( do not use GUI to extract, use the command below in terminal )
    You'll get a folder named "android-toolchain-eabi", rename the folder to linaro-4.7, again make sure you are doing this in /prebuilts/gcc/linux-x86/arm folder

    Code:
    tar -xvjf android-toolchain-eabi-linaro-4.7-2013.02-01-3-2013-02-19_23-39-29-linux-x86.tar.bz2

    Note: Name of the file changes with every new prebuilt so update the command above accordingly...

    Just making sure all the projects are on linaro branch

    Code:
    repo forall -c git checkout linaro

    CM Team just made some setting commits in frameworks_base repo yesterday morning. I had to pull these commits but since I pushed them to my frameworks_base you should be ok to build. Let me know if you hit an error 41 on settings jars. I can give you the code to pull from CM repo.

    Clean up the OUT folder to be on the safe side since you have built a test build of CM10.1 after setting up the repo, just takes long to build - won't hurt to do -make clobber or clean (at least)-
    have to do make clobber/clean depends on if changed any make files that can have system wide affects
    I do make clobber once every 2-3 builds or if I see a make file commit.
    make clobber - > Deletes all the OUT folder
    make clean -> Deletes only Build folder

    Code:
    make clobber

    or

    Code:
    make clean

    then;

    Code:
    source build/envsetup.sh
    
    export USE_CCACHE=1
    
    breakfast mako
    
    brunch mako

    Wait.....

    ---------- Post added at 01:19 AM ---------- Previous post was at 01:11 AM ----------

    trailblazerz working on using google's bionic though, I have been testing my build whole day today, so far so good.

    If trailblazerz want me to, I can supply the bi-nightly builds to keep the thread going until he is all setup with new bionic repo.