[ROM][5.1.1_r12][Euphoria-OS] kylevess - Galaxy Trend Lite S7390 - Samsung Galaxy Fresh/Trend Guides, News, & Discuss

It come now, Android Lollipop on Galaxy Trend Lite ! Download Euphoria-OS Lollipop here
I need some testers, for people who want to get their Trend Lite a reborn
I think the Trend Lite can have Lollipop,and better : Euphoria-OS Lollipop.
Thanks in advance for testers. I recommend TK Gapps Full package and TWRP from here I highly recommend to make a backup before erasing anything and flashing my build.
Please comment below if you want more information
ROM is compiling using ArchiToolchain based on Linaro 4.9.3.
It has JustArchi Optimizations 4.1 from CM12.1
Enjoy !

Build is live now.
CHANGELOG
21/08/2015
- New device tree
- Revert to Android 5.1.1_r8 for now. Will update to r12 when rom will be usable.
21/08/2015
- Android-5.1.1_r9 ==> Android-5.1.1_r12 : Fix Stagefight vulnerability
21/08/2015
- Initial build of Euphoria 5.1.1_r9
- JustArchi Optimizations v4.1 from CM12.1
- ArchiToolchain Linaro 4.9.3
Bugs :
Not booting for now ( build 21/08/2015 )
You tell me

Oh a boy faster than me. I would build but a rom has came.
Paste device and kernel tree please.
---------
Not booting. We have to work on it.

Its not booting
Its not bOooting

not booting i hope you will fix soon

fbli_41 said:
Oh a boy faster than me. I would build but a rom has came.
Paste device and kernel tree please.
---------
Not booting. We have to work on it.
Click to expand...
Click to collapse
Lol man look to my roomservice. I used your cm-12.0 git for kernel.
Code:
<!--Trend Lite-->
<project name="fbli41/android_kernel_samsung_kylevess" path="kernel/samsung/kylevess" remote="github" revision="cm-12.0" />
<project name="wulsic/android_device_samsung_kylevess" path="device/samsung/kylevess" remote="github" revision="cm-11.0" />
<project name="Cyanogenmod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-12.1" />
OFC, device tree is heavily edited, i need to upload that. Kernel is stock. Device tree can be downloaded here
I dont remember where i took vendor files, but i just uploaded them here
Aniketdgp said:
Its not bOooting
Click to expand...
Click to collapse
Yeah, unfortunately..
shakiraj said:
not booting i hope you will fix soon
Click to expand...
Click to collapse
I hope so too. To fix it, i just uploaded a ADB-enabled kernel here. Maybe somebody will be able to upload a Logcat, so me and @fbli_41 will be able to take a look. I dont have the device, and my dad refuses to flash anything lol

dekefake said:
Lol man look to my roomservice. I used your cm-12.0 git for kernel.
Code:
<!--Trend Lite-->
<project name="fbli41/android_kernel_samsung_kylevess" path="kernel/samsung/kylevess" remote="github" revision="cm-12.0" />
<project name="wulsic/android_device_samsung_kylevess" path="device/samsung/kylevess" remote="github" revision="cm-11.0" />
<project name="Cyanogenmod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-12.1" />
OFC, device tree is heavily edited, i need to upload that. Kernel is stock. Device tree can be downloaded here
I dont remember where i took vendor files, but i just uploaded them here
Yeah, unfortunately..
I hope so too. To fix it, i just uploaded a ADB-enabled kernel here. Maybe somebody will be able to upload a Logcat, so me and @fbli_41 will be able to take a look. I dont have the device, and my dad refuses to flash anything lol
Click to expand...
Click to collapse
Code:
<project name="fbli41/android_kernel_samsung_kylevess" path="kernel/samsung/kylevess" remote="github" revision="cm-12.0" />
<project name="fbli41/android_device_samsung_kylevess" path="device/samsung/kylevess" remote="github" revision="cm12" />
<project name="fbli41/android_vendor_samsung_kylevess" path="vendor/samsung/kylevess" remote="github" revision="cm11" />
<project name="Cyanogenmod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-12.1" />
Replace with this, build again and update thread
P.S: You are wrong. You didn't build kernel. It took kernel from "/device/samsung/kylevess/kernel/zImage" so that is for CM11. You have to put "#" to front side of this lines inside of device_kylevess.mk to build kernel for CM12.
Code:
# Prebuilt Kernel Related Stuff
LOCAL_KERNEL := device/samsung/kylevess/kernel/zImage
PRODUCT_COPY_FILES += \
$(LOCAL_KERNEL):kernel \
device/samsung/kylevess/kernel/modules/ansi_cprng.ko:system/lib/modules/ansi_cprng.ko \
device/samsung/kylevess/kernel/modules/blocklayoutdriver.ko:system/lib/modules/blocklayoutdriver.ko \
device/samsung/kylevess/kernel/modules/dhd.ko:system/lib/modules/dhd.ko \
device/samsung/kylevess/kernel/modules/scsi_wait_scan.ko:system/lib/modules/scsi_wait_scan.ko
Happy builds

fbli_41 said:
Code:
<project name="fbli41/android_kernel_samsung_kylevess" path="kernel/samsung/kylevess" remote="github" revision="cm-12.0" />
<project name="fbli41/android_device_samsung_kylevess" path="device/samsung/kylevess" remote="github" revision="cm12" />
<project name="fbli41/android_vendor_samsung_kylevess" path="vendor/samsung/kylevess" remote="github" revision="cm11" />
<project name="Cyanogenmod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-12.1" />
Replace with this, build again and update thread
P.S: You are wrong. You didn't build kernel. It took kernel from "/device/samsung/kylevess/kernel/zImage" so that is for CM11. You have to put "#" to front side of this lines inside of device_kylevess.mk to build kernel for CM12.
Code:
# Prebuilt Kernel Related Stuff
LOCAL_KERNEL := device/samsung/kylevess/kernel/zImage
PRODUCT_COPY_FILES += \
$(LOCAL_KERNEL):kernel \
device/samsung/kylevess/kernel/modules/ansi_cprng.ko:system/lib/modules/ansi_cprng.ko \
device/samsung/kylevess/kernel/modules/blocklayoutdriver.ko:system/lib/modules/blocklayoutdriver.ko \
device/samsung/kylevess/kernel/modules/dhd.ko:system/lib/modules/dhd.ko \
device/samsung/kylevess/kernel/modules/scsi_wait_scan.ko:system/lib/modules/scsi_wait_scan.ko
Happy builds
Click to expand...
Click to collapse
Lol thanks. So i need to put # everywhere like it ?:
Code:
# Prebuilt Kernel Related Stuff
#LOCAL_KERNEL := device/samsung/kylevess/kernel/zImage
#PRODUCT_COPY_FILES += \
# $(LOCAL_KERNEL):kernel \
# device/samsung/kylevess/kernel/modules/ansi_cprng.ko:system/lib/modules/ansi_cprng.ko \
# device/samsung/kylevess/kernel/modules/blocklayoutdriver.ko:system/lib/modules/blocklayoutdriver.ko \
# device/samsung/kylevess/kernel/modules/dhd.ko:system/lib/modules/dhd.ko \
# device/samsung/kylevess/kernel/modules/scsi_wait_scan.ko:system/lib/modules/scsi_wait_scan.ko

dekefake said:
Lol thanks. So i need to put # everywhere like it ?:
Code:
# Prebuilt Kernel Related Stuff
#LOCAL_KERNEL := device/samsung/kylevess/kernel/zImage
#PRODUCT_COPY_FILES += \
# $(LOCAL_KERNEL):kernel \
# device/samsung/kylevess/kernel/modules/ansi_cprng.ko:system/lib/modules/ansi_cprng.ko \
# device/samsung/kylevess/kernel/modules/blocklayoutdriver.ko:system/lib/modules/blocklayoutdriver.ko \
# device/samsung/kylevess/kernel/modules/dhd.ko:system/lib/modules/dhd.ko \
# device/samsung/kylevess/kernel/modules/scsi_wait_scan.ko:system/lib/modules/scsi_wait_scan.ko
Click to expand...
Click to collapse
Yes! Well done You've got it
But my device tree hasn't got that lines so you don't need.

New build here
Tell me if it works !

dekefake said:
New build here
Tell me if it works !
Click to expand...
Click to collapse
Can you re-upload it? (404 not found)

Andrei Radu said:
Can you re-upload it? (404 not found)
Click to expand...
Click to collapse
https://www.androidfilehost.com/?fid=24052804347802492
But it doesnt boot, seems to have kernel issues

dekefake said:
https://www.androidfilehost.com/?fid=24052804347802492
But it doesnt boot, seems to have kernel issues
Click to expand...
Click to collapse
Ok, no problem.
Thank you!

keep it up bro i hope we get cm12 soon

dekefake said:
https://www.androidfilehost.com/?fid=24052804347802492
But it doesnt boot, seems to have kernel issues
Click to expand...
Click to collapse
don't worry, keep it up, will be OK! :good:

Is this a new one
lets see
---------- Post added at 06:18 AM ---------- Previous post was at 06:13 AM ----------
dekefake said:
New build here
lets seee :good::good::good:
Click to expand...
Click to collapse

dekefake said:
New build here
Tell me if it works !
Click to expand...
Click to collapse
Downloaded installef succesfully
But no boot fix pls(black screen in system boot)
Sent from my GT-S7390 using XDA Free mobile app

i think it's too hard to make kernel for cm12

Woah great news for our device. Waiting for working version

StarLord21 said:
Woah great news for our device. Waiting for working version
Click to expand...
Click to collapse
Were you sleeping?

Related

[Q] hardware source tree, & vendor proprietaries tree

I ran into This guide a few days ago and decided to give it a try for fun. however, i am stuck at this step:
Now, Lets add the device specific trees:
Add your own device tree, kernel tree, hardware source tree, & vendor proprietaries tree in the manifest. (BEFORE the manifest closing tags)
For example, I'm using all corresponding trees for Samsung Galaxy S3 i9300 - International
Following is just an example, not what you should copy/paste. SEARCH & USE YOUR OWN DEVICE SPECIFIC TREES.
Code:
<!-- Add i9300 device tree -->
<project name="CyanogenMod/android_device_samsung_i9300" path="device/samsung/i9300" remote="github" revision="jellybean" />
<!-- Add Samsung Kernel SMDK4412 -->
<project name="CyanogenMod/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" revision="jellybean" />
<!-- Add samsung hardware source tree -->
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="jellybean" />
<!-- Add Samsung Proprietary Vendor Files -->
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="jellybean" />
Click to expand...
Click to collapse
I found our device tree and Kernel (both from Mevrodel's github) but am having trouble finding the hardware source tree, & vendor proprietaries tree. Can anyone point me in the right direction? thanks
iurnait said:
I ran into This guide a few days ago and decided to give it a try for fun. however, i am stuck at this step:
I found our device tree and Kernel (both from Mevrodel's github) but am having trouble finding the hardware source tree, & vendor proprietaries tree. Can anyone point me in the right direction? thanks
Click to expand...
Click to collapse
Glad you asked! This is my entire local_manifest.xml. If you add it to the main manifest.xml, like that guide says, just copy the 3 long lines.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="Mevordel/android_device_samsung_venturi" path="device/samsung/venturi" remote="github" revision="jellybean" />
<project name="Mevordel/android_kernel_samsung_venturi" path="kernel/samsung/venturi" remote="github" revision="jellybean" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="jellybean" />
</manifest>
To make the vendor/proprietaries tree, download the latest CM10 alpha, and after repo syncing, go to device/samsung/venturi and run ./extract-files.sh ~/Downloads/cm-whatever.zip (use the appropriate path). Or, if you have cm10 installed, just run ./extract-files.sh - make sure you do this before running lunch.
Just for reference: all of the XYZ should be venturi, and we are hdpi, not xhdpi. Try skipping the vendor props section. There is no vendor repository; it is created by the script
so should i use your vold or Cyanogenmods?
iurnait said:
so should i use your vold or Cyanogenmods?
Click to expand...
Click to collapse
Until I figure out how to submit a proper patch to the CM team, you have to use mine for internal storage to work. It's the same as theirs except one modification.
Thanks for all your help. I finally got everything set up and am building right now.
Sent from my YP-G70 using xda app-developers app

Combining Git Sources?

I'm looking to get SlimBean running on the HTC Vivid, and I've already repo synced the Slim git, from here- https://github.com/SlimRoms/platform_manifest
How would I go about downloading the neccessary source for my device from working code on Github? Do I just need to repo init the platform manifest for the device that I'm looking to port it to? I've built straight CM10.1 from source by itself before but I haven't ever combined from an outside tree like this.. Any help is greatly appreciated.
Also, do I need to get multiple repos, like do I need to download SlimROM, AOSP, and specific device tree repos? What all do I need to make sure I have before I start compiling?
calikevin said:
I'm looking to get SlimBean running on the HTC Vivid, and I've already repo synced the Slim git, from here- https://github.com/SlimRoms/platform_manifest
How would I go about downloading the neccessary source for my device from working code on Github? Do I just need to repo init the platform manifest for the device that I'm looking to port it to? I've built straight CM10.1 from source by itself before but I haven't ever combined from an outside tree like this.. Any help is greatly appreciated.
Also, do I need to get multiple repos, like do I need to download SlimROM, AOSP, and specific device tree repos? What all do I need to make sure I have before I start compiling?
Click to expand...
Click to collapse
Here is a copy of my slim-manifest.xml: <?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="SlimRoms/device_samsung_hercules" path="device/samsung/hercules" remote="github" revision="jb4.2" />
<project name="SlimRoms/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="jb4.2" />
<project name="SlimRoms/device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" revision="jb4.2" />
<project name="SlimRoms/device_samsung_msm8660-common" path="device/samsung/msm8660-common" remote="github" revision="jb4.2" />
<project name="CyanogenMod/android_device_samsung_celox-common" path="device/samsung/celox-common" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_hardware_qcom_display-caf" path="hardware/qcom/display-caf" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_hardware_qcom_audio-caf" path="hardware/qcom/audio-caf" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_kernel_samsung_msm8660-common" path="kernel/samsung/msm8660-common" remote="github" revision="cm-10.1" />
<project name="SlimRoms/hardware_qcom_display-caf" path="hardware/qcom/display-caf" remote="github" revision="jb4.2" />
<project name="SlimRoms/hardware_qcom_audio-caf" path="hardware/qcom/audio-caf" remote="github" revision="jb4.2" />
<project name="carvsdriver/android_kernel_samsung_msm8660-common"
You can see the things I pulled from cm10.1 to get it to work on my phone, my phone is now suported by slim but just a few months ago. Ask some of the dev's building other roms in your phones thread what all you need to pull from cm10.1 to get all to work. Good luck, Slim is by far my fav!
onlychevys said:
"
You can see the things I pulled from cm10.1 to get it to work on my phone, my phone is now suported by slim but just a few months ago. Ask some of the dev's building other roms in your phones thread what all you need to pull from cm10.1 to get all to work. Good luck, Slim is by far my fav!
Click to expand...
Click to collapse
Thank you but I'm a little confused, the things you pulled from CM to make it work, are those identified by where it says "path" followed by what looks like may be a file from CM?
edit: nevermind, it looks way different on the PC than it did on my phone, I can see the CM parts clearly now.
And where might I find the slim manifest to edit for myself?
Sent from my Vivid 4G using Tapatalk 4 Beta
at there git hub:https://github.com/SlimRoms/platform_manifest

[GUIDE][Lollipop][D855] How to build your own Cyanogenmod 12

Hi there, since lots of you asked me how to build and how to solve errors, i decided to make this guide to help you.
I use Ubuntu 14.04 x64 since it's best for Lollipop (at least Google say this ).
Now we set the environment (you can copy and paste).
1) First of all install java, it must be openjdk-7 or the building environment will give you error.
In terminal type:
Code:
sudo apt-get update
sudo apt-get install openjdk-7-jdk
After that we must install the essential things
Code:
sudo apt-get install bison g++-multilib git gperf libxml2-utils
You can optionally tell the build to use the ccache compilation tool. Ccache acts as a compiler cache that can be used to speed-up rebuilds. This works very well if you do "make clean" often, or if you frequently switch between different build products.
Put the following in your .bashrc or equivalent.
Code:
export USE_CCACHE=1
In terminal (be sure to be in your home folder typing "cd") type:
Code:
mkdir -p ~/bin
mkdir -p ~/android/system
Enter the following to download the "repo" binary and make it executable (runnable):
Code:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
2) Now we can download the cyanogenmod sources
In terminal type:
Code:
cd ~/android/system/
repo init -u https://github.com/CyanogenMod/android.git -b cm-12.0
Once you are ready to download lots of Gigabytes of data type
Code:
repo sync
Note: use the --jN option to run multiple downloads (default is 4) example: repo sync -j8 to run 8 parallel downloads.
you can use repo sync everytime you want to sync with latest cyanogenmod changes.
3) Once you have downloaded all the sources available just download our device repos (thanks @sooti):
Create a folder called local_manifests under the .repo directory (hidden directory inside system folder), then create an XML file (text file with .xml extension) inside that directory. You can call the XML file anything you like, as long as it ends in .xml and rerun repo sync after you have created the relatives folders.
Put this inside the local_manifest.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/lge/g3-common" name="sooti/android_device_lge_g3-common" remote="github" revision="cm-12.0" />
<project path="device/lge/d855" name="sooti/android_device_lge_d855" remote="github" revision="cm-12.0" />
<project path="kernel/lge/g3" name="sooti/android_kernel_lge_g3" remote="github" revision="cm-12.0" />
<project path="vendor/lge" name="sooti/proprietary_vendor_lge" remote="github" revision="cm-12.0" />
<project path="device/qcom_common" name="cyanogenmod/android_device_qcom_common" remote="github" revision="cm-12.0" />
</manifest>
4) Now we are ready to rock
do theese steps evertime you want to build
First build will take some time so while building you can relax doing other stuff like watch a movie or listen music
Open terminal and type:
Code:
cd android/system
. build/envsetup.sh
brunch d855
and wait for build to finish
now you are ready to flash it with the gapps and the superSU Enjoy your personal Cyanogenmod 12
P.S: everytime you build a new update, before brunch use this command "make clobber" to clean your old compiled sources and to avoid errors while building the new updates
---------------------------------------------
If you liked my guide and found that is useful ^^ make me a little gift here with a donation ^^ :angel:
Update: you don't need to delete the inside of the zip, just flash it as it is and it will go
Excellent! Will start to repo sync source now and I am looking forward to build:fingers-crossed:
Don't try others do your job! Go back to the kitchen! Lol
Thanks
ahahaahah i will keep updating the other thread for everyone who can't or don't want to do it by theirselves
Thanks for this!!!
Just a question, if I put this in my local_manifest.xml after I've created the relatives folders
Code:
<manifest>
<project path="device/lge/g3-common" name="sooti/android_device_lge_g3-common" remote="github" revision="cm-12.0" />
<project path="device/lge/d855" name="sooti/android_device_lge_d855" remote="github" revision="cm-12.0" />
<project path="kernel/lge/g3" name="sooti/android_kernel_lge_g3" remote="github" revision="cm-12.0" />
</manifest>
Isn't it the same?
Why do I get this http://pastebin.com/tCgWuS2B
Thanks
TheMorpheus said:
Thanks for this!!!
Just a question, if I put this in my local_manifest.xml after I've created the relatives folders
Code:
<manifest>
<project path="device/lge/g3-common" name="sooti/android_device_lge_g3-common" remote="github" revision="cm-12.0" />
<project path="device/lge/d855" name="sooti/android_device_lge_d855" remote="github" revision="cm-12.0" />
<project path="kernel/lge/g3" name="sooti/android_kernel_lge_g3" remote="github" revision="cm-12.0" />
</manifest>
Isn't it the same?
Why do I get this http://pastebin.com/tCgWuS2B
Thanks
Click to expand...
Click to collapse
add to the local manifest cyanogenmod/android_device_qcom_common it contains the dtbtoolCM you need ^^ i have edited the OP thank you very much
Thank you very much for the guide.
Took several days trying without luck. With the information you have given me by private message I have made some progress but still not end well.
Tomorrow I follow these steps from 0 to see if I can make it work once and for all.
Thank you.
Thanks il check this out!
I added a commit to build 'caf' by default, no need for the caf adding to BoardCommon part of the tutorial.
sooti said:
I added a commit to build 'caf' by default, no need for the caf adding to BoardCommon part of the tutorial.
Click to expand...
Click to collapse
thank youuuuuuuu
manups4e said:
thank youuuuuuuu
Click to expand...
Click to collapse
BTW, any benefit to this addition? I thought it always builds using caf, otherwise it doesn't work on our phone, no?
nope afaik if in the board config is not specified it builds with legacy qcom sources while if we specify caf-new it looks for the folder with "caf-new" in its name
Thans for you sooti for the sources. :victory::victory:
manups4e said:
nope afaik if in the board config is not specified it builds with legacy qcom sources while if we specify caf-new it looks for the folder with "caf-new" in its name
Click to expand...
Click to collapse
hmmm.... then how could we not build in cm-11 if we didn't have caf-new? i think it just uses caf-msm8974 now by default, which are the new repos, thats why we don't need caf-new anymore.
you are right caf-msm8974 it's newer and it's for display only can you change it into the boardconfigcommon.mk?
manups4e said:
you are right caf-msm8974 it's newer and it's for display only can you change it into the boardconfigcommon.mk?
Click to expand...
Click to collapse
I can but this commit might be pointless lol, it uses them by default :/
without committing it if you build normally and you do mmm -B you'll see different warning messages ^^ i think it's not building it by default if you don't point it ^^ i hope to be wrong
sooti said:
I can but this commit might be pointless lol, it uses them by default :/
Click to expand...
Click to collapse
it's already in display-caf this is the default manifest.xml
so we only have to point the boardconfig to display-caf and it will build already with newest cafs
project path="hardware/qcom/display-caf/msm8960" name="CyanogenMod/android_hardware_qcom_display" groups="qcom,qcom_display" revision="cm-12.0-caf-8960" />
<project path="hardware/qcom/display-caf/msm8226" name="CyanogenMod/android_hardware_qcom_display" groups="qcom,qcom_display" revision="cm-12.0-caf-8226" />
<project path="hardware/qcom/display-caf/msm8974" name="CyanogenMod/android_hardware_qcom_display" groups="qcom,qcom_display" revision="cm-12.0-caf-8974" />
I've succesfuly compile the rom (thanks to you @manups4e) but it won't boot (stuck on the LG screen)
I've noticed some difference with your build.
http://goo.gl/idzzQ1
Look the screenshot, is this supposed to be corrected?

[INACTIVE}[ROM][Unofficial][5.1.1] cm-12.1 Nightlies for OnePlus One (bacon)

Nightly unofficial builds of cm-12.1 for OnePlus One (bacon). Stock (at least at this point).
ROMs & md5s at: https://www.androidfilehost.com/user/?w=settings-dev-files&flid=30241
Built with: repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
local_manifest.xml:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_oneplus_bacon" path="device/oneplus/bacon" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_device_oppo_msm8974-common" path="device/oppo/msm8974-common" remote="github" />
<project name="CyanogenMod/android_device_oppo_common" path="device/oppo/common" remote="github" revision="cm-12.0" />
<project name="CyanogenMod/android_kernel_oneplus_msm8974" path="kernel/oneplus/msm8974" remote="github" />
<project name="TheMuppets/proprietary_vendor_oppo" path="vendor/oppo" remote="github" />
<project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" />
<project name="CyanogenMod/android_frameworks_opt_connectivity" path="frameworks/opt/connectivity" remote="github" revision="cm-11.0" />
</manifest>
Thread re-opened. OP will be maintaining an unofficial build of this ROM.
eris23 said:
Nightly unofficial builds of cm-12.1 for OnePlus One (bacon). Stock (at least at this point)
Click to expand...
Click to collapse
Thanks for building these :good:
A heads-up:
I flashed your 0522 over the 0518 nightly and the flash failed on the verify trustzone assert:
Code:
assert(oppo.verify_trustzone("TZ.BF.2.0-2.0.0109","TZ.BF.2.0-2.0.0123") == "1");
If I change this back to:
Code:
assert(oppo.verify_trustzone("TZ.BF.2.0-2.0.0123") == "1");
it flashes.
This looks like it's because of the Allow flashing with older TrustZone version commit which was partially reverted from the Update TrustZone version to be consistent with newest CM nightlies commit.
I had no problem flashing it, but, I remember previously flashing an updated firmware zip which solved a previous occasion of the "trustzone" error.
eris23 said:
I had no problem flashing it, but, I remember previously flashing an updated firmware zip which solved a previous occasion of the "trustzone" error.
Click to expand...
Click to collapse
OK, thanks.
I'm flashing over nightlies though and I see some firmware was updated in the 0515 nightly - maybe this was what affected my initial flash.
Added to OnePlus One index thread:
[INDEX] OnePlus One Resources Compilation Roll-Up
XDA Moderator
Transmitted via Bacon

How to build CM13 for Honor 5X

This may not be the best forum to ask this question, but considering that I'm new to XDA and don't have enough points to post in the development forum, this seemed like the next best place. I'm looking to get into CM development for the Honor 5X and I'm trying to find documentation for building CM (XDA version?) for the wonderful Honor 5X. I was able to find this link: https://wiki.cyanogenmod.org/w/Build_for_kiwi documenting the build process. But, it seemed like a general kiwi build for the phone. I say general because I found this thread in the development section that mentions these three git development repos:
https://github.com/CyanogenMod/andro...ce_huawei_kiwi
https://github.com/CyanogenMod/andro...el_huawei_kiwi
https://github.com/crpalmer/proprietary_vendor_huawei
but when I checked out the code and sync'd the repo, I wasn't sure if it sync'd those repos for me.
So, is there a guide documenting how to build or get started with XDA CM development for the Honor 5X?
Thanks in advance.
Donny3000 said:
This may not be the best forum to ask this question, but considering that I'm new to XDA and don't have enough points to post in the development forum, this seemed like the next best place. I'm looking to get into CM development for the Honor 5X and I'm trying to find documentation for building CM (XDA version?) for the wonderful Honor 5X. I was able to find this link: https://wiki.cyanogenmod.org/w/Build_for_kiwi documenting the build process. But, it seemed like a general kiwi build for the phone. I say general because I found this thread in the development section that mentions these three git development repos:
https://github.com/CyanogenMod/andro...ce_huawei_kiwi
https://github.com/CyanogenMod/andro...el_huawei_kiwi
https://github.com/crpalmer/proprietary_vendor_huawei
but when I checked out the code and sync'd the repo, I wasn't sure if it sync'd those repos for me.
So, is there a guide documenting how to build or get started with XDA CM development for the Honor 5X?
Thanks in advance.
Click to expand...
Click to collapse
I applaud your efforts, But we really already have a good working CM13 team
maybe you should consider picking up one of the many other CM13 based Roms and taking over development of those
the list is quite extensive,but you can begin your quest here
http://forum.xda-developers.com/honor-5x/development/pac-rom-unofficial-build-t3407563
http://forum.xda-developers.com/honor-5x/development/aokp-unofficial-build-mm-t3398902
http://forum.xda-developers.com/honor-5x/development/candyroms-unofficial-build-t3412373
http://forum.xda-developers.com/honor-5x/development/vanir-unofficial-build-6-0-070416-t3411118
http://forum.xda-developers.com/honor-5x/development/aicp-unofficial-build-11-0-t3394492
http://forum.xda-developers.com/honor-5x/development/xperience-unofficial-build-10-0-t3402800
http://forum.xda-developers.com/honor-5x/development/temasek-s-unofficial-build-v8-9-t3390168
http://forum.xda-developers.com/honor-5x/development/collection-roms-flashaholic-t3412367
clsA said:
I applaud your efforts, But we really already have a good working CM13 team
maybe you should consider picking up one of the many other CM13 based Roms and taking over development of those
the list is quite extensive,but you can begin your quest here
http://forum.xda-developers.com/honor-5x/development/pac-rom-unofficial-build-t3407563
http://forum.xda-developers.com/honor-5x/development/aokp-unofficial-build-mm-t3398902
http://forum.xda-developers.com/honor-5x/development/candyroms-unofficial-build-t3412373
http://forum.xda-developers.com/honor-5x/development/vanir-unofficial-build-6-0-070416-t3411118
http://forum.xda-developers.com/honor-5x/development/aicp-unofficial-build-11-0-t3394492
http://forum.xda-developers.com/honor-5x/development/xperience-unofficial-build-10-0-t3402800
http://forum.xda-developers.com/honor-5x/development/temasek-s-unofficial-build-v8-9-t3390168
http://forum.xda-developers.com/honor-5x/development/collection-roms-flashaholic-t3412367
Click to expand...
Click to collapse
hello i want install cm13 on honor 5x KIW-L21 with twrp but when install cm twrp eror 7 plase help me
BASET02 said:
hello i want install cm13 on honor 5x KIW-L21 with twrp but when install cm twrp eror 7 plase help me
Click to expand...
Click to collapse
not the correct thread but to your question- update your phone to stock marshmallow 1st and then try CM13. or else you can flash the CM13 version but older builds than 20th July but that will be without FP. if you want Fp, update your phone to stock marshmallow 1st and then flash any of the CM13 or other marshmallow based ROMs.
BASET02 said:
hello i want install cm13 on honor 5x KIW-L21 with twrp but when install cm twrp eror 7 plase help me
Click to expand...
Click to collapse
Are you kidding me x)
shashank1320 said:
not the correct thread but to your question- update your phone to stock marshmallow 1st and then try CM13. or else you can flash the CM13 version but older builds than 20th July but that will be without FP. if you want Fp, update your phone to stock marshmallow 1st and then flash any of the CM13 or other marshmallow based ROMs.
Click to expand...
Click to collapse
how update KIW-L21 c185b140 to stock marshmallow?
BASET02 said:
how update KIW-L21 c185b140 to stock marshmallow?
Click to expand...
Click to collapse
Check the honor 5X repository thread in guide section. And download stock recovery and appropriate marshmallow package for your phone. And then follow my guide for update. You can find my thread easily.
Or you can flash 18/19th july cm13 build but fp wont work. Try old build and see if u r able to update cm13.
shashank1320 said:
Check the honor 5X repository thread in guide section. And download stock recovery and appropriate marshmallow package for your phone. And then follow my guide for update. You can find my thread easily.
Or you can flash 18/19th july cm13 build but fp wont work. Try old build and see if u r able to update cm13.
Click to expand...
Click to collapse
no stock marshmallow update for kiw-l21c185b140:crying:
BASET02 said:
no stock marshmallow update for kiw-l21c185b140:crying:
Click to expand...
Click to collapse
check this for your model- http://forum.xda-developers.com/honor-5x/how-to/repository-honor-5x-file-depot-t3328288
clsA said:
I applaud your efforts, But we really already have a good working CM13 team
maybe you should consider picking up one of the many other CM13 based Roms and taking over development of those
the list is quite extensive,but you can begin your quest here
http://forum.xda-developers.com/honor-5x/development/pac-rom-unofficial-build-t3407563
http://forum.xda-developers.com/honor-5x/development/aokp-unofficial-build-mm-t3398902
http://forum.xda-developers.com/honor-5x/development/candyroms-unofficial-build-t3412373
http://forum.xda-developers.com/honor-5x/development/vanir-unofficial-build-6-0-070416-t3411118
http://forum.xda-developers.com/honor-5x/development/aicp-unofficial-build-11-0-t3394492
http://forum.xda-developers.com/honor-5x/development/xperience-unofficial-build-10-0-t3402800
http://forum.xda-developers.com/honor-5x/development/temasek-s-unofficial-build-v8-9-t3390168
http://forum.xda-developers.com/honor-5x/development/collection-roms-flashaholic-t3412367
Click to expand...
Click to collapse
Sorry for the delay...I got caught up with family stuff at home. But, thank you clsA for this information. I will take a look and see how I can contribute.
Since many have pm & ask me how to build ROMs for kiwi & i have to repeat myself every time, as might as well once & for all, i post the info here...
Before you can build any other custom ROMs, you'll have to learn to build cm-13.0 referring to this Official Guide then you can move on to other ROMs, Thanks to crpalmer & BadDaemon... :good:
If you're a first time ROM Cooker then i strongly recommends BBQLinux bcos you don't have to setup the build environment, everything is already built-in, my guide here, Thanks to my Master Shifu codeworkx... :good:
There are only two types of Android sources, AOSP & CAF, all custom ROMs will use either one of them including cm... You'll only need two folders AOSP & CAF, syncing all custom ROMs to these same folder will cut the syncing time more than half ! AOSP manifest will have this line while CAF manifest will have this so sync it to the correct folder.
In actual fact, it doesn't really matter, both sources have different file names & you can actually sync it to the same folder but its best practice to have two separate folders for two separate sources.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_huawei_kiwi" path="device/huawei/kiwi" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_external_sony_boringssl-compat" path="external/sony/boringssl-compat" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_external_stlport" path="external/stlport" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_kernel_huawei_kiwi" path="kernel/huawei/kiwi" remote="github" revision="cm-13.0" />
<project name="TheMuppets/proprietary_vendor_huawei" path="vendor/huawei" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-13.0" />
</manifest>
kiwi.xml
To sync the sources, Eg. cm-13.0
Code:
mkdir -p ~/AOSP/.repo/local_manifests
repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0
Copy [COLOR="Blue"]kiwi.xml[/COLOR] to ~/AOSP/.repo/local_manifests
repo sync -fc[COLOR="blue"]j64[/COLOR] --force-sync [COLOR="blue"]<= Depending on your ISP, this will use parallel threads & cut the downloading time by half. If error then lower it[/COLOR]
To build AOSP based custom ROMs, this Eg. cm-13.0, open a Terminal, copy the below & paste to it
Code:
cd ~/AOSP
prebuilts/misc/linux-x86/ccache/ccache -M 50G
export USE_CCACHE=1
export LC_ALL=C
source build/envsetup.sh
brunch kiwi 2>&1 | tee ~/AOSP/[COLOR="blue"]compile.log[/COLOR]
If there is any build error then refer to the compile.log & start goggling for the fix !
For any other custom ROMs, refer to the guide at their manifest, Eg. below Krexus-CAF
Code:
mkdir -p ~/CAF/.repo/local_manifests
Copy [COLOR="blue"]kiwi.xml[/COLOR] to ~/CAF/.repo/local_manifests [COLOR="Blue"]<= Remove qcom/common as Krexus-CAF already [URL="https://github.com/krexus-caf/manifest/blob/caf/default.xml#L101"]have it[/URL][/COLOR]
cd ~/CAF
repo init -u [url]https://github.com/krexus-caf/manifest.git[/url] -b caf
repo sync -fcj68 --force-sync --no-clone-bundle --no-tags
To build it, you can also create a script as below, name it krexus then simply sh krexus will start the build...
Code:
cd ~/CAF
prebuilts/misc/linux-x86/ccache/ccache -M 50G
export USE_CCACHE=1
export LC_ALL=C
source build/envsetup.sh
lunch [COLOR="blue"]krexus[/COLOR]_kiwi-userdebug
make -j4 otapackage 2>&1 | tee ~/CAF/compile.log
Every ROM mostly will have its own vendor tree formatting, for Krexus-CAF, you'll need to create a new krexus_kiwi.mk so refer to the example there on how to create one. Eg. For AOKP, AICP, PAC-ROM
Building other Custom ROMs
Before you start syncing other custom ROMs, delete everything at AOSP or CAF folder except the hidden source code .repo folder ( To display hidden folders press Ctrl + H )
Sometimes, syncing new ROMs will fail then you'll have to delete all the other files & folders at the hidden .repo folder EXCEPT the project-objects & projects folder, these two are the actual source code folder, a repo init & repo sync then all the files will be extracted out again.
If you've got a very large HDD & would like to build multiple ROMs all at the same time then you'll only need to copy the hidden .repo folder over, Eg. Copy ~/AOSP/.repo to ~/AOKP, ~/AICP, ~/PAC-ROM & syncing it will only take awhile since all are using the exact same google source...
Any other thing that i might have left out then google it yourself...
Good Luck & Happy Building !
Additional Tips
All custom ROMs manifest contains sources to build for almost all Android devices available while some of those sources are not needed for our 5x you can safely remove them by specifying at above kiwi.xml & it will save you not to download of more than 1GB of unused projects !
Code:
<[B]remove[/B]-project path="prebuilts/clang/[COLOR="blue"]darwin[/COLOR]-x86/host/3.6" name="platform/prebuilts/clang/darwin-x86/host/3.6" groups="pdk,darwin" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/aarch64/aarch64-linux-android-4.9" name="platform/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9" groups="pdk,darwin,arm" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/arm/arm-eabi-4.8" name="platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8" groups="pdk,darwin,arm" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/arm/arm-linux-androideabi-4.9" name="platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9" groups="pdk,darwin,arm" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/host/i686-apple-darwin-4.2.1" name="platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1" groups="pdk,darwin" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/mips/mips64el-linux-android-4.9" name="platform/prebuilts/gcc/darwin-x86/mips/mips64el-linux-android-4.9" groups="pdk,darwin,mips,notdefault" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/x86/x86_64-linux-android-4.9" name="platform/prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9" groups="pdk,darwin,x86" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/python/[COLOR="blue"]darwin-[/COLOR]x86/2.7.5" name="platform/prebuilts/python/darwin-x86/2.7.5" groups="darwin,pdk,pdk-cw-fs,pdk-fs" clone-depth="1" remote="aosp" />
If you don't own & build on apple PCs or laptops then you can remove all the darwin projects. Source here & here <= item 3
Code:
<[B]remove[/B]-project name="CyanogenMod/android_hardware_qcom_audio" />
<project path="hardware/qcom/audio/default" name="CyanogenMod/android_hardware_qcom_audio" remote="github" revision="cm-13.0" />
<project path="hardware/qcom/audio-caf/msm8916" name="CyanogenMod/android_hardware_qcom_audio" remote="github" revision="cm-13.0-caf-8916" />
<[B]remove[/B]-project name="CyanogenMod/android_hardware_qcom_display" />
<project path="hardware/qcom/display" name="CyanogenMod/android_hardware_qcom_display" remote="github" revision="cm-13.0" />
<project path="hardware/qcom/display-caf/msm8916" name="CyanogenMod/android_hardware_qcom_display" remote="github" revision="cm-13.0-caf-8916" />
<[B]remove[/B]-project name="CyanogenMod/android_hardware_qcom_media" />
<project path="hardware/qcom/media/default" name="CyanogenMod/android_hardware_qcom_media" remote="github" revision="cm-13.0" />
<project path="hardware/qcom/media-caf/msm8916" name="CyanogenMod/android_hardware_qcom_media" remote="github" revision="cm-13.0-caf-8916" />
Our 5x uses msm8939 which uses the same source as msm8916 so you can also safely remove all the other unused apq8084, msm8937, msm8952, msm8960, msm8974, msm8994, msm8996 projects with the above single remove-project then re-specify back the projects that you need. Source Ref
Code:
<[B]remove[/B]-project path="hardware/akm" name="CyanogenMod/android_hardware_akm" />
<[B]remove[/B]-project path="hardware/broadcom/libbt" name="CyanogenMod/android_hardware_broadcom_libbt" groups="pdk" />
<[B]remove[/B]-project path="hardware/broadcom/wlan" name="CyanogenMod/android_hardware_broadcom_wlan" groups="pdk,broadcom_wlan" />
<[B]remove[/B]-project path="hardware/intel/common/libmix" name="CyanogenMod/android_hardware_intel_common_libmix" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/common/libva" name="CyanogenMod/android_hardware_intel_common_libva" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/common/libwsbm" name="CyanogenMod/android_hardware_intel_common_libwsbm" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/common/omx-components" name="CyanogenMod/android_hardware_intel_common_omx-components" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/img/hwcomposer" name="CyanogenMod/android_hardware_intel_img_hwcomposer" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/img/psb_headers" name="CyanogenMod/android_hardware_intel_img_psb_headers" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/img/psb_video" name="CyanogenMod/android_hardware_intel_img_psb_video" groups="intel" />
<[B]remove[/B]-project path="hardware/invensense" name="CyanogenMod/android_hardware_invensense" groups="invensense" />
<[B]remove[/B]-project path="hardware/samsung_slsi/exynos5" name="CyanogenMod/android_hardware_samsung_slsi_exynos5" />
<[B]remove[/B]-project path="hardware/ti/omap4" name="CyanogenMod/android_hardware_ti_omap4" />
<[B]remove[/B]-project path="hardware/ti/omap4xxx" name="CyanogenMod/android_hardware_ti_omap4xxx" groups="omap4" />
<[B]remove[/B]-project path="hardware/ti/wlan" name="CyanogenMod/android_hardware_ti_wlan" />
<[B]remove[/B]-project path="hardware/ti/wpan" name="CyanogenMod/android_hardware_ti_wpan" />
<[B]remove[/B]-project path="hardware/intel/audio_media" name="platform/hardware/intel/audio_media" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/bootstub" name="platform/hardware/intel/bootstub" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/common/bd_prov" name="platform/hardware/intel/common/bd_prov" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/common/libstagefrighthw" name="platform/hardware/intel/common/libstagefrighthw" groups="intel" remote="aosp"/>
<[B]remove[/B]-project path="hardware/intel/common/utils" name="platform/hardware/intel/common/utils" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/common/wrs_omxil_core" name="platform/hardware/intel/common/wrs_omxil_core" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/sensors" name="platform/hardware/intel/sensors" groups="intel_sensors" remote="aosp" />
<[B]remove[/B]-project path="hardware/marvell/bt" name="platform/hardware/marvell/bt" groups="marvell_bt" remote="aosp" />
<[B]remove[/B]-project path="hardware/mediatek" name="platform/hardware/mediatek" groups="mediatek,mediatek_wear" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8960" name="platform/hardware/qcom/msm8960" groups="qcom_msm8960" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8994" name="platform/hardware/qcom/msm8994" groups="qcom_msm8994" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8x26" name="platform/hardware/qcom/msm8x26" groups="qcom_msm8x26" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8x27" name="platform/hardware/qcom/msm8x27" groups="qcom_msm8x27" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8x74" name="platform/hardware/qcom/msm8x74" groups="pdk,qcom_msm8x74" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8x84" name="platform/hardware/qcom/msm8x84" groups="qcom_msm8x84" remote="aosp" />
<[B]remove[/B]-project path="hardware/ti/omap3" name="platform/hardware/ti/omap3" groups="omap3" remote="aosp" />
<[B]remove[/B]-project path="hardware/ti/omap4-aah" name="platform/hardware/ti/omap4-aah" groups="omap4-aah" remote="aosp" />
Above are hardware not used on 5x, removing it will save you hours of downloading of these unused projects. ROMs are still buildable with these remove projects, there are still many projects not used that can be safely removed but i don't intend to waste my time on identifying every single one of them... :laugh:
Update 09 Sept 2016 - Everyone can also build their own ROMs
Old PC or laptop ? Slow internet connection, not a problem, gopinaidu77 has shared with me that he is able to build a ROM in just 25 minutes, rebuild a ROM after make clobber took just only 7 minutes ! Syncing any ROM source will only take 3 - 5 mins at 40 Mbps download speed !
Completely FOC, more info refer to here... :good:
Thanks mate. Let me start building the environment and will start this.
Sent from my HUAWEI KIW-L22 using XDA Labs
yuweng said:
Since many have pm & ask me how to build ROMs for kiwi & i have to repeat myself every time, as might as well once & for all, i post the info here...
Before you can build any other custom ROMs, you'll have to learn to build cm-13.0 referring to this Official Guide then you can move on to other ROMs, Thanks to crpalmer & BadDaemon... :good:
If you're a first time ROM Cooker then i strongly recommends BBQLinux bcos you don't have to setup the build environment, everything is already built-in, my guide here, Thanks to my Master Shifu codeworkx... :good:
There are only two types of Android sources, AOSP & CAF, all custom ROMs will use either one of them including cm... You'll only need two folders AOSP & CAF, syncing all custom ROMs to these same folder will cut the syncing time more than half ! AOSP manifest will have this line while CAF manifest will have this so sync it to the correct folder.
In actual fact, it doesn't really matter, both sources have different file names & you can actually sync it to the same folder but its best practice to have two separate folders for two separate sources.
kiwi.xml
To sync the sources, Eg. cm-13.0To build AOSP based custom ROMs, this Eg. cm-13.0, open a Terminal, copy the below & paste to itIf there is any build error then refer to the compile.log & start goggling for the fix !
For any other custom ROMs, refer to the guide at their manifest, Eg. below Krexus-CAFTo build it, you can also create a script as below, name it krexus then simply sh krexus will start the build... Every ROM mostly will have its own vendor tree formatting, for Krexus-CAF, you'll need to create a new krexus_kiwi.mk so refer to the example there on how to create one. Eg. For AOKP, AICP, PAC-ROM
Building other Custom ROMs
Before you start syncing other custom ROMs, delete everything at AOSP or CAF folder except the hidden source code .repo folder ( To display hidden folders press Ctrl + H )
Sometimes, syncing new ROMs will fail then you'll have to delete all the other files & folders at the hidden .repo folder EXCEPT the project-objects & projects folder, these two are the actual source code folder, a repo init & repo sync then all the files will be extracted out again.
If you've got a very large HDD & would like to build multiple ROMs all at the same time then you'll only need to copy the hidden .repo folder over, Eg. Copy ~/AOSP/.repo to ~/AOKP, ~/AICP, ~/PAC-ROM & syncing it will only take awhile since all are using the exact same google source...
Any other thing that i might have left out then google it yourself...
Good Luck & Happy Building !
Click to expand...
Click to collapse
Thank you
yuweng said:
Since many have pm & ask me how to build ROMs for kiwi & i have to repeat myself every time, as might as well once & for all, i post the info here...
Before you can build any other custom ROMs, you'll have to learn to build cm-13.0 referring to this Official Guide then you can move on to other ROMs, Thanks to crpalmer & BadDaemon... :good:
If you're a first time ROM Cooker then i strongly recommends BBQLinux bcos you don't have to setup the build environment, everything is already built-in, my guide here, Thanks to my Master Shifu codeworkx... :good:
There are only two types of Android sources, AOSP & CAF, all custom ROMs will use either one of them including cm... You'll only need two folders AOSP & CAF, syncing all custom ROMs to these same folder will cut the syncing time more than half ! AOSP manifest will have this line while CAF manifest will have this so sync it to the correct folder.
In actual fact, it doesn't really matter, both sources have different file names & you can actually sync it to the same folder but its best practice to have two separate folders for two separate sources.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_huawei_kiwi" path="device/huawei/kiwi" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_external_sony_boringssl-compat" path="external/sony/boringssl-compat" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_external_stlport" path="external/stlport" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_kernel_huawei_kiwi" path="kernel/huawei/kiwi" remote="github" revision="cm-13.0" />
<project name="TheMuppets/proprietary_vendor_huawei" path="vendor/huawei" remote="github" revision="cm-13.0" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-13.0" />
</manifest>
kiwi.xml
To sync the sources, Eg. cm-13.0
Code:
mkdir -p ~/AOSP/.repo/local_manifests
repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0
Copy [COLOR="Blue"]kiwi.xml[/COLOR] to ~/AOSP/.repo/local_manifests
repo sync -fc[COLOR="blue"]j64[/COLOR] --force-sync [COLOR="blue"]<= Depending on your ISP, this will use parallel threads & cut the downloading time by half. If error then lower it[/COLOR]
To build AOSP based custom ROMs, this Eg. cm-13.0, open a Terminal, copy the below & paste to it
Code:
cd ~/AOSP
prebuilts/misc/linux-x86/ccache/ccache -M 50G
export USE_CCACHE=1
export LC_ALL=C
source build/envsetup.sh
brunch kiwi 2>&1 | tee ~/AOSP/[COLOR="blue"]compile.log[/COLOR]
If there is any build error then refer to the compile.log & start goggling for the fix !
For any other custom ROMs, refer to the guide at their manifest, Eg. below Krexus-CAF
Code:
mkdir -p ~/CAF/.repo/local_manifests
Copy [COLOR="blue"]kiwi.xml[/COLOR] to ~/CAF/.repo/local_manifests [COLOR="Blue"]<= Remove qcom/common as Krexus-CAF already [URL="https://github.com/krexus-caf/manifest/blob/caf/default.xml#L101"]have it[/URL][/COLOR]
cd ~/CAF
repo init -u [url]https://github.com/krexus-caf/manifest.git[/url] -b caf
repo sync -fcj68 --force-sync --no-clone-bundle --no-tags
To build it, you can also create a script as below, name it krexus then simply sh krexus will start the build...
Code:
cd ~/CAF
prebuilts/misc/linux-x86/ccache/ccache -M 50G
export USE_CCACHE=1
export LC_ALL=C
source build/envsetup.sh
lunch [COLOR="blue"]krexus[/COLOR]_kiwi-userdebug
make -j4 otapackage 2>&1 | tee ~/CAF/compile.log
Every ROM mostly will have its own vendor tree formatting, for Krexus-CAF, you'll need to create a new krexus_kiwi.mk so refer to the example there on how to create one. Eg. For AOKP, AICP, PAC-ROM
Building other Custom ROMs
Before you start syncing other custom ROMs, delete everything at AOSP or CAF folder except the hidden source code .repo folder ( To display hidden folders press Ctrl + H )
Sometimes, syncing new ROMs will fail then you'll have to delete all the other files & folders at the hidden .repo folder EXCEPT the project-objects & projects folder, these two are the actual source code folder, a repo init & repo sync then all the files will be extracted out again.
If you've got a very large HDD & would like to build multiple ROMs all at the same time then you'll only need to copy the hidden .repo folder over, Eg. Copy ~/AOSP/.repo to ~/AOKP, ~/AICP, ~/PAC-ROM & syncing it will only take awhile since all are using the exact same google source...
Any other thing that i might have left out then google it yourself...
Good Luck & Happy Building !
Additional Tips
All custom ROMs manifest contains sources to build for almost all Android devices available while some of those sources are not needed for our 5x you can safely remove them by specifying at above kiwi.xml & it will save you not to download of more than 1GB of unused projects !
Code:
<[B]remove[/B]-project path="prebuilts/clang/[COLOR="blue"]darwin[/COLOR]-x86/host/3.6" name="platform/prebuilts/clang/darwin-x86/host/3.6" groups="pdk,darwin" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/aarch64/aarch64-linux-android-4.9" name="platform/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9" groups="pdk,darwin,arm" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/arm/arm-eabi-4.8" name="platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8" groups="pdk,darwin,arm" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/arm/arm-linux-androideabi-4.9" name="platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9" groups="pdk,darwin,arm" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/host/i686-apple-darwin-4.2.1" name="platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1" groups="pdk,darwin" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/mips/mips64el-linux-android-4.9" name="platform/prebuilts/gcc/darwin-x86/mips/mips64el-linux-android-4.9" groups="pdk,darwin,mips,notdefault" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/gcc/[COLOR="blue"]darwin[/COLOR]-x86/x86/x86_64-linux-android-4.9" name="platform/prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9" groups="pdk,darwin,x86" clone-depth="1" remote="aosp" />
<[B]remove[/B]-project path="prebuilts/python/[COLOR="blue"]darwin-[/COLOR]x86/2.7.5" name="platform/prebuilts/python/darwin-x86/2.7.5" groups="darwin,pdk,pdk-cw-fs,pdk-fs" clone-depth="1" remote="aosp" />
If you don't own & build on apple PCs or laptops then you can remove all the darwin projects. Source here & here <= item 3
Code:
<[B]remove[/B]-project name="CyanogenMod/android_hardware_qcom_audio" />
<project path="hardware/qcom/audio/default" name="CyanogenMod/android_hardware_qcom_audio" remote="github" revision="cm-13.0" />
<project path="hardware/qcom/audio-caf/msm8916" name="CyanogenMod/android_hardware_qcom_audio" remote="github" revision="cm-13.0-caf-8916" />
<[B]remove[/B]-project name="CyanogenMod/android_hardware_qcom_display" />
<project path="hardware/qcom/display" name="CyanogenMod/android_hardware_qcom_display" remote="github" revision="cm-13.0" />
<project path="hardware/qcom/display-caf/msm8916" name="CyanogenMod/android_hardware_qcom_display" remote="github" revision="cm-13.0-caf-8916" />
<[B]remove[/B]-project name="CyanogenMod/android_hardware_qcom_media" />
<project path="hardware/qcom/media/default" name="CyanogenMod/android_hardware_qcom_media" remote="github" revision="cm-13.0" />
<project path="hardware/qcom/media-caf/msm8916" name="CyanogenMod/android_hardware_qcom_media" remote="github" revision="cm-13.0-caf-8916" />
Our 5x uses msm8939 which uses the same source as msm8916 so you can also safely remove all the other unused apq8084, msm8937, msm8952, msm8960, msm8974, msm8994, msm8996 projects with the above single remove-project then re-specify back the projects that you need. Source Ref
Code:
<[B]remove[/B]-project path="hardware/akm" name="CyanogenMod/android_hardware_akm" />
<[B]remove[/B]-project path="hardware/broadcom/libbt" name="CyanogenMod/android_hardware_broadcom_libbt" groups="pdk" />
<[B]remove[/B]-project path="hardware/broadcom/wlan" name="CyanogenMod/android_hardware_broadcom_wlan" groups="pdk,broadcom_wlan" />
<[B]remove[/B]-project path="hardware/intel/common/libmix" name="CyanogenMod/android_hardware_intel_common_libmix" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/common/libva" name="CyanogenMod/android_hardware_intel_common_libva" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/common/libwsbm" name="CyanogenMod/android_hardware_intel_common_libwsbm" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/common/omx-components" name="CyanogenMod/android_hardware_intel_common_omx-components" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/img/hwcomposer" name="CyanogenMod/android_hardware_intel_img_hwcomposer" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/img/psb_headers" name="CyanogenMod/android_hardware_intel_img_psb_headers" groups="intel" />
<[B]remove[/B]-project path="hardware/intel/img/psb_video" name="CyanogenMod/android_hardware_intel_img_psb_video" groups="intel" />
<[B]remove[/B]-project path="hardware/invensense" name="CyanogenMod/android_hardware_invensense" groups="invensense" />
<[B]remove[/B]-project path="hardware/samsung_slsi/exynos5" name="CyanogenMod/android_hardware_samsung_slsi_exynos5" />
<[B]remove[/B]-project path="hardware/ti/omap4" name="CyanogenMod/android_hardware_ti_omap4" />
<[B]remove[/B]-project path="hardware/ti/omap4xxx" name="CyanogenMod/android_hardware_ti_omap4xxx" groups="omap4" />
<[B]remove[/B]-project path="hardware/ti/wlan" name="CyanogenMod/android_hardware_ti_wlan" />
<[B]remove[/B]-project path="hardware/ti/wpan" name="CyanogenMod/android_hardware_ti_wpan" />
<[B]remove[/B]-project path="hardware/intel/audio_media" name="platform/hardware/intel/audio_media" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/bootstub" name="platform/hardware/intel/bootstub" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/common/bd_prov" name="platform/hardware/intel/common/bd_prov" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/common/libstagefrighthw" name="platform/hardware/intel/common/libstagefrighthw" groups="intel" remote="aosp"/>
<[B]remove[/B]-project path="hardware/intel/common/utils" name="platform/hardware/intel/common/utils" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/common/wrs_omxil_core" name="platform/hardware/intel/common/wrs_omxil_core" groups="intel" remote="aosp" />
<[B]remove[/B]-project path="hardware/intel/sensors" name="platform/hardware/intel/sensors" groups="intel_sensors" remote="aosp" />
<[B]remove[/B]-project path="hardware/marvell/bt" name="platform/hardware/marvell/bt" groups="marvell_bt" remote="aosp" />
<[B]remove[/B]-project path="hardware/mediatek" name="platform/hardware/mediatek" groups="mediatek,mediatek_wear" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8960" name="platform/hardware/qcom/msm8960" groups="qcom_msm8960" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8994" name="platform/hardware/qcom/msm8994" groups="qcom_msm8994" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8x26" name="platform/hardware/qcom/msm8x26" groups="qcom_msm8x26" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8x27" name="platform/hardware/qcom/msm8x27" groups="qcom_msm8x27" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8x74" name="platform/hardware/qcom/msm8x74" groups="pdk,qcom_msm8x74" remote="aosp" />
<[B]remove[/B]-project path="hardware/qcom/msm8x84" name="platform/hardware/qcom/msm8x84" groups="qcom_msm8x84" remote="aosp" />
<[B]remove[/B]-project path="hardware/ti/omap3" name="platform/hardware/ti/omap3" groups="omap3" remote="aosp" />
<[B]remove[/B]-project path="hardware/ti/omap4-aah" name="platform/hardware/ti/omap4-aah" groups="omap4-aah" remote="aosp" />
Above are hardware not used on 5x, removing it will save you hours of downloading of these unused projects. ROMs are still buildable with these remove projects, there are still many projects not used that can be safely removed but i don't intend to waste my time on identifying every single one of them... :laugh:
Update 09 Sept 2016 - Everyone can also build their own ROMs
Old PC or laptop ? Slow internet connection, not a problem, gopinaidu77 has shared with me that he is able to build a ROM in just 25 minutes, rebuild a ROM after make clobber took just only 7 minutes ! Syncing any ROM source will only take 3 - 5 mins at 40 Mbps download speed !
Completely FOC, more info refer to here... :good:
Click to expand...
Click to collapse
Hi yuweng,
Thanks for such a thread. This is almost all knowledge in one place.
I am thinking of compiling my own ROM. Going through your thread.
Will be installing BBQ Linux very soon.
Good luck

Categories

Resources