In a nutshell you do the steps
- unlock your bootloader
- backup your DRM (if available and possible on the Z4/Z3+)
You follow steps 4 to 4.6 of
https://wiki.cyanogenmod.org/w/Build_for_angler#Build_CyanogenMod_and_CyanogenMod_Recovery
(that is the entry for the Nexus 6P)
you go into ~/android/system/
or the folder you named it
Code:
cd .repo
mkdir local_manifests
copy over the lines from
https://github.com/SonyAosp/device_sony_ivy/blob/e97659de9c044e56fabe25cf1dfdac44b27131de/README.md
into e.g.
ivy.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!--Please do not manually edit this file-->
<manifest>
<project name="SonyAosp/device-sony-ivy" path="device/sony/ivy" remote="github" revision="cm-13.0" />
<project name="SonyAosp/device-sony-kitakami" path="device/sony/kitakami" remote="github" revision="cm-13.0" />
<project name="SonyAosp/device-sony-common" path="device/sony/common" remote="github" revision="cm-13.0" />
<project name="SonyAosp/camera" path="hardware/sony/camera" remote="github" revision="cm-13.0" />
<project name="SonyAosp/kernel" path="kernel/sony/msm" remote="github" revision="mm-6.0" />
<project name="sonyxperiadev/thermanager" path="hardware/sony/thermanager" remote="github" revision="master" />
<project name="sonyxperiadev/timekeep" path="hardware/sony/timekeep" remote="github" revision="master" />
<project name="sonyxperiadev/macaddrsetup" path="hardware/sony/macaddrsetup" remote="github" revision="master" />
<project name="SonyAosp/platform_hardware_sony_init" path="hardware/sony/init" remote="github" revision="mm-6.0" />
<project name="SonyAosp/vendor_qcom_opensource_dataservices" path="hardware/sony/opensource/dataservices" remote="github" revision="mm-6.0" />
<project name="SonyAosp/platform_vendor_qcom" path="vendor/qcom" remote="github" revision="mm-6.0" />
<project name="SonyAosp/platform_vendor_sony" path="vendor/sony" remote="github" revision="mm-6.0" />
<project name="SonyAosp/platform_vendor_qcom_proprietary" path="vendor/qcom/proprietary" remote="github" revision="mm-6.0" />
</manifest>
then do a
Code:
repo sync
again
and you should be good to go with something like
Code:
source build/envsetup.sh
lunch cm_ivy-userdebug
mka clobber && mka bacon
Troubleshooting:
Running Python >=2.7 ?
install python 2.7
then
Code:
export EPYTHON=python2.7
Running a Linux distribution with "Umlauts" and other European gibberish locale (de, fr, etc.)
Code:
export LC_ALL=C
Running a bleeding edge Linux distribution which only has ncurses >=6.0 ?
extract and/or build ncurses 5.9 (64bit) locally and copy it e.g. to ~/aosp/ncurses/lib64/
then
Code:
export LD_LIBRARY_PATH=~/aosp/ncurses/lib64/
Have a nice day
I am waiting for my device from repair, motherboard is going to be changed. Not sure I will be able to unlock bootloader or not but surely would love to try this and run an aosp rom on my device.
Thanks for this guide.
I followed your guide and building the ROM worked like a charm (compiling took like 2:15h in an Ubuntu 15.10 VM). Installing also worked without any problems so far, thank you soooooo much for this!
I tried following the guide on the Sony page, which always made problems for me (either compiling didn't work or the ROM wouldn't boot).
Thomas231 said:
I followed your guide and building the ROM worked like a charm (compiling took like 2:15h in an Ubuntu 15.10 VM). Installing also worked without any problems so far, thank you soooooo much for this!
I tried following the guide on the Sony page, which always made problems for me (either compiling didn't work or the ROM wouldn't boot).
Click to expand...
Click to collapse
Glad it worked flawless
What is the ROM status ? Working and not working list plz ?
Thanks
Right now the only issue I know of is the camera issue which is present on all AOSP-based ROMs using the open source driver (and even the stock ROM, at least for me).
I'm trying to build cm-13 using this manifest doesn't work. mm-6.0 is not present on some of the sony repos. Anyone face this issue ? repo sync fails.
Related
Hi guys! I've worked in several stock ROM projects, but I never learned how to build roms from source, I dont know why. Yesterday, I read some threads, and installed Ubuntu 14.04 in my lap. I am following the following threads to compile CM12:
Compiling CM12 for Moto G
Official CM12 Compiling guide
I started the first one, which I think is very clear, but when I arrive to this I have to stop:
Once all that stuff's over, create a folder called
Code:
local_manifests
in the .repo folder, and then make a new file in that folder called
Code:
roomservice.xml
open roomservice.xml using gedit, and add the following:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_motorola_falcon" path="device/motorola/falcon" remote="github" revision="cm-12.0"/>
<project name="CyanogenMod/android_device_motorola_msm8226-common" path="device/motorola/msm8226-common" remote="github" revision="cm-12.0"/>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-12.0"/>
<project name="CyanogenMod/android_kernel_motorola_msm8226" path="kernel/motorola/msm8226" remote="github" revision="cm-12.0"/>
<project name="TheMuppets/proprietary_vendor_motorola" path="vendor/motorola" remote="github" revision="cm-12.0"/>
</manifest>
Click to expand...
Click to collapse
Obviously, that code is for Moto G, but I don't know what should I write in that file. I found a thread in G2 section with the same question, but the OP had no answer.
Then I switched to the official thread trying to find some information. About local manifests it says:
After the source downloads, ensure you are in the root of the source code (cd ~/android/system), then type:
Code:
$ source build/envsetup.sh
$ breakfast d802
This will download the device specific configuration and kernel source for your device. An alternative to using the breakfast command is to build your own local manifest. To do this, you will need to locate your device on CyanogenMod's GitHub and list all of the repositories defined in cm.dependencies in your local manifest.
Click to expand...
Click to collapse
Then I went to d802 github and located the cm.dependencies. Is that what I have to copy into the roomservice.xml file? Is this another way of preparing specific-device code?
If u know any other more comprehensive guide for d802 I would thank u so much if u could share with me. Any help is thanked.
------------------------- EDIT 1 -------------------------
I found this on a similar thread to mine in G2 subforum. Will be enough to paste it in roomservice.xml?
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
# Device Specific part
<project path="device/lge/d802" name="CyanogenMod/android_device_lge_d802" revision="cm-12.0" remote="github" />
<project path="device/lge/g2-common" name="CyanogenMod/android_device_lge_g2-common" revision="cm-12.0" remote="github" />
<project path="kernel/lge/msm8974" name="CyanogenMod/android_kernel_lge_msm8974" revision="cm-12.0" remote="github" />
<project path="vendor/lge" name="TheMuppets/proprietary_vendor_lge" revision="cm-12.0" remote="github" />
</manifest>
Thanks man!
after a small look i have found CM12.1 Repos for our H815 and i think we start now Tests to get workable Builds... Think, the first way are dirty but who cares
https://github.com/lg-devs
i have nothing to do with this and this is not my three so the credits and thanks are given to LG-Devs
think this are the Devicetree what we need:
https://github.com/lg-devs/proprietary_vendor_lge
https://github.com/lg-devs/android_device_lge_g4-common
https://github.com/lg-devs/android_device_lge_h815
https://github.com/lg-devs/android_kernel_lge_msm8994
lets get start united
Interesting, hope we get UB, and root soon
I've had this building since Friday but unfortunately it gets stuck at the LG screen. I'm going to play around again this afternoon and see where I can get to.
Although the Github description for the msm8994 kernel says "G4", the H815 needs the msm8992 kernel. Also the partition sizes in g4-common aren't correct for the H815, they need to be
Code:
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4341104640
BOARD_USERDATAIMAGE_PARTITION_SIZE := 24897388544
This is the local manifest I've been using
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom_common" remote="github" revision="cm-12.1" />
<project name="lg-devs/android_device_lge_g4-common" path="device/lge/g4-common" remote="github" revision="cm-12.1" />
<project name="lg-devs/android_device_lge_h815" path="device/lge/h815" remote="github" revision="cm-12.1" />
<project name="lg-devs/android_kernel_lge_msm8992" path="kernel/lge/msm8992" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_hardware_qcom_audio" path="hardware/qcom/audio-caf/msm8992" remote="github" revision="cm-12.1-caf-8994" />
<project name="CyanogenMod/android_hardware_qcom_display" path="hardware/qcom/display-caf/msm8992" remote="github" revision="cm-12.1-caf-8994" />
<project name="CyanogenMod/android_hardware_qcom_media" path="hardware/qcom/media-caf/msm8992" remote="github" revision="cm-12.1-caf-8994" />
<project name="lg-devs/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-12.1-caf" />
</manifest>
I also tried to build CM and working with AOSP preview M1 ( source from LG devs ) but it fails. I will play with them later tonight. Hopefully find a way to solve it.
Sent from my LG-H815 using Tapatalk 2
PLEASE
We need Logcatfiles... this help another
command: adb logcat -d > logcat.txt
xadet said:
Although the Github description for the msm8994 kernel says "G4", the H815 needs the msm8992 kernel. Also the partition sizes in g4-common aren't correct for the H815, they need to be
Click to expand...
Click to collapse
In github is description for the msm8992 kernel:
Is it possible cm ROM from single SIM it can work on dual SIM by changes kernal ?
I hope someone of you guys will get it working! :good:
Thank you!
It will work sooner or later!
It's already a great news to see the start of work of CM 12.1 on G4, I just hope the camera app of stock rom can be ported
CM mods actually use the muppets repository, which the G4 isn't on yet...
https://github.com/TheMuppets/proprietary_vendor_lge
EDIT: Never mind, read above :S
We are all excited about CM12.1 coming on our smartphone, best thing to do now is just wait for the official rom to come out, which hopefully will be soon. Just be patient guys ; )
let's hope that there soon finally CM for our G4
aydinbahadir88 said:
let's hope that there soon finally CM for our G4
Click to expand...
Click to collapse
And you would have to say bye-bye to the very good LG camera...
bleuxeon said:
And you would have to say bye-bye to the very good LG camera...
Click to expand...
Click to collapse
with a hoping good port we must not say good bye
Surely, the Camera is great, but we have good alternative.. such as U-Cam
I successfully build ROM + kernel but fails to flash. Some thing to do with............" failed to mount /dev/blocl/bootdevice/by-name/system......"I also tried to flash the kernel over the stock ROM and it seems to boot fine.
update: Ummm it seems to be fine with twrp-2.8.7.0-h815.img. I can see the CM boot animation..keep fingers crossing.
Very nice @janjan!
Keep us updated please! Maybe you can make a fork with your changes if you got it running?
Let me know if any one want to play with my build and kernel. I am going to upload it incase any one want to work with it. I will continue my work as well. Going to play with AOSP later tonight or tomorrow. I think we are close to fix all the issues with CM build.
Sent from my LG-H815 using Tapatalk 2
@janjan I could be interested of your repositories.. at the moment I could not even build for h815.
Inviato dal mio LG-H815 utilizzando Tapatalk
Acutally you can use the one from the #1.... It should work..
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom_common" remote="github" revision="cm-12.1" />
<project name="lg-devs/android_device_lge_g4-common" path="device/lge/g4-common" remote="github" revision="cm-12.1" />
<project name="lg-devs/android_device_lge_h815" path="device/lge/h815" remote="github" revision="cm-12.1" />
<project name="lg-devs/android_kernel_lge_msm8992" path="kernel/lge/msm8992" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_hardware_qcom_audio" path="hardware/qcom/audio-caf/msm8992" remote="github" revision="cm-12.1-caf-8994" />
<project name="CyanogenMod/android_hardware_qcom_display" path="hardware/qcom/display-caf/msm8992" remote="github" revision="cm-12.1-caf-8994" />
<project name="CyanogenMod/android_hardware_qcom_media" path="hardware/qcom/media-caf/msm8992" remote="github" revision="cm-12.1-caf-8994" />
<project name="lg-devs/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-12.1-caf" />
</manifest>
[/QUOTE]
@janjan: can you upload some screenshots? It sounds too good to be true
Hi @ all.
I compiled CM 14.1 for the Oneplus 2 as a "userdebug" build (in future I would like to do a "user" build, which means no root), but I have two problems:
My build and CM official's are too many differents in terms of weight: 475Mb for mine, 513 for CM's one.
My build doesn't have working camera, EVEN with TheMuppets proprietary blobs. Here my local_manifest:
Code:
<manifest>
<project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" revision="cm-14.1" />
<project name="CyanogenMod/android_device_oneplus_oneplus2" path="device/oneplus/oneplus2" remote="github" revision="cm-14.1" />
<project name="CyanogenMod/android_device_oppo_common" path="device/oppo/common" remote="github" revision="cm-14.1" />
<project name="CyanogenMod/android_kernel_oneplus_msm8994" path="kernel/oneplus/msm8994" remote="github" revision="cm-14.1" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-14.1" />
<project name="TheMuppets/proprietary_vendor_qcom_binaries" path="vendor/qcom/binaries" remote="github" revision="cm-14.1" />
</manifest>
Here the result: http://130.211.105.84/oneplus2/ (I build on Google Virtual Machine, based on Ubuntu 16.10).
When the build is done and I flash it (No error during installation and it booted fine), it says "Can't connect to camera", and I repeat, I have OP blobs (with TheMuppets github).
May someone helps me please ?
Thanks a lot!
OMG I'm ret*rd.
Code:
make otapackage
doesn't works well. Not well at all.
Please @Darth can you close this thread ? Really sorry about my stupidity..
Thanks !
Hi,
I'm trying to build LineageOS 13.0 for my ms01lte but I'm stuck at resolving a compile rule missing :
Code:
make: *** No rule to make target '/home/yumi14/android/system/out/target/product/ms01lte/obj/STATIC_LIBRARIES/libinit_msm_intermediates/export_includes', needed by '/home/yumi14/android/system/out/target
/product/ms01lte/obj/EXECUTABLES/init_intermediates/import_includes'. Stop.
I've searched on the web, downloaded qcom-common & samsung-qcom-common as it is the most common answer but it doesn't look to solve my problem.
I'm on ubuntu 16.04 with fresh LineageOS 13.0 repo and my device sources are from : https://github.com/MSM8226-Samsung/
Anyone can help me solving this ?
yumi14 said:
Hi,
I'm trying to build LineageOS 13.0 for my ms01lte but I'm stuck at resolving a compile rule missing :
Code:
make: *** No rule to make target '/home/yumi14/android/system/out/target/product/ms01lte/obj/STATIC_LIBRARIES/libinit_msm_intermediates/export_includes', needed by '/home/yumi14/android/system/out/target
/product/ms01lte/obj/EXECUTABLES/init_intermediates/import_includes'. Stop.
I've searched on the web, downloaded qcom-common & samsung-qcom-common as it is the most common answer but it doesn't look to solve my problem.
I'm on ubuntu 16.04 with fresh LineageOS 13.0 repo and my device sources are from : https://github.com/MSM8226-Samsung/
Anyone can help me solving this ?
Click to expand...
Click to collapse
Hello,
So, after some tests, I decided to just remove the lib from the build:
Code:
# file: device/samsung/msm8226-common/BoardConfigCommon.mk
TARGET_INIT_VENDOR_LIB := libinit_msm
I successfuly compiled a Kernel & TWRP Recovery and working well, now trying to build LineageOS 13.0 but I'm still curious how to build without removing 'libinit_msm' if someone knows.
yumi14 said:
Hello,
So, after some tests, I decided to just remove the lib from the build:
Code:
# file: device/samsung/msm8226-common/BoardConfigCommon.mk
TARGET_INIT_VENDOR_LIB := libinit_msm
I successfuly compiled a Kernel & TWRP Recovery and working well, now trying to build LineageOS 13.0 but I'm still curious how to build without removing 'libinit_msm' if someone knows.
Click to expand...
Click to collapse
I also tried to compile a kernel but it shows
soc sound changed from boolean to tristate after make command?
How did you do this?Which toolchain are you using?
Subhashis said:
I also tried to compile a kernel but it shows
soc sound changed from boolean to tristate after make command?
How did you do this?Which toolchain are you using?
Click to expand...
Click to collapse
Do you have all the needed components ?
Here's my manifest for ms01lte:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="MSM8226-Samsung" fetch="https://github.com/MSM8226-Samsung/" />
<remote name="CyanogenMod" fetch="https://github.com/CyanogenMod/" />
<remote name="TWRP" fetch="https://github.com/omnirom/" />
<project path="device/samsung/qcom-common" name="android_device_samsung_qcom-common" remote="CyanogenMod" revision="cm-13.0" />
<project path="device/qcom/common" name="android_device_qcom_common" remote="CyanogenMod" revision="cm-13.0" />
<project path="external/busybox" name="android_external_busybox" remote="CyanogenMod" revision="cm-13.0" />
<project path="bootable/recovery-twrp" name="android_bootable_recovery" remote="TWRP" revision="android-6.0" />
<project path="kernel/samsung/msm8226" name="kernel_samsung_msm8226" remote="MSM8226-Samsung" revision="common" />
<project path="device/samsung/msm8226-common" name="android_device_samsung_msm8226-common" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="hardware/qcom/audio" name="android_hardware_qcom_audio" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms01-common" name="android_device_samsung_ms01-common" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="kernel/samsung/ms013g" name="android_kernel_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms013g" name="android_device_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="vendor/samsung/ms013g" name="android_vendor_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="kernel/samsung/ms01lte" name="android_kernel_samsung_ms01lte" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms01lte" name="android_device_samsung_ms01lte" remote="MSM8226-Samsung" revision="cm-13.0" />
</manifest>
I'm using the default toolchains for compiling LineageOS 13.0, e.g. :
Code:
repo init -u https://github.com/LineageOS/android.git -b cm-13.0
repo sync
Hi,
I have successfuly built a LineageOS 13.0 but when trying to flash it, it hangs at "Patching system image unconditionally...".
Does someone know how to debug the installation procedure ?
yumi14 said:
Hi,
I have successfuly built a LineageOS 13.0 but when trying to flash it, it hangs at "Patching system image unconditionally...".
Does someone know how to debug the installation procedure ?
Click to expand...
Click to collapse
Check the zip file.It generally happens for corrupted zips. It happened once for me too.
yumi14 said:
Do you have all the needed components ?
Here's my manifest for ms01lte:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="MSM8226-Samsung" fetch="https://github.com/MSM8226-Samsung/" />
<remote name="CyanogenMod" fetch="https://github.com/CyanogenMod/" />
<remote name="TWRP" fetch="https://github.com/omnirom/" />
<project path="device/samsung/qcom-common" name="android_device_samsung_qcom-common" remote="CyanogenMod" revision="cm-13.0" />
<project path="device/qcom/common" name="android_device_qcom_common" remote="CyanogenMod" revision="cm-13.0" />
<project path="external/busybox" name="android_external_busybox" remote="CyanogenMod" revision="cm-13.0" />
<project path="bootable/recovery-twrp" name="android_bootable_recovery" remote="TWRP" revision="android-6.0" />
<project path="kernel/samsung/msm8226" name="kernel_samsung_msm8226" remote="MSM8226-Samsung" revision="common" />
<project path="device/samsung/msm8226-common" name="android_device_samsung_msm8226-common" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="hardware/qcom/audio" name="android_hardware_qcom_audio" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms01-common" name="android_device_samsung_ms01-common" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="kernel/samsung/ms013g" name="android_kernel_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms013g" name="android_device_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="vendor/samsung/ms013g" name="android_vendor_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="kernel/samsung/ms01lte" name="android_kernel_samsung_ms01lte" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms01lte" name="android_device_samsung_ms01lte" remote="MSM8226-Samsung" revision="cm-13.0" />
</manifest>
I'm using the default toolchains for compiling LineageOS 13.0, e.g. :
Code:
repo init -u https://github.com/LineageOS/android.git -b cm-13.0
repo sync
Click to expand...
Click to collapse
I was using linaro toolchain and had downloaded only android_kernel_samsung_ms013g not vendor,device,etc.I was using this guide:
https://forum.xda-developers.com/showthread.php?t=2152819
Let me download all the files(might take a month due to slow internet speed) and post the result :/ .BTW if you have any suggestions for me,then you are welcome
Subhashis said:
I was using linaro toolchain and had downloaded only android_kernel_samsung_ms013g not vendor,device,etc.I was using this guide:
https://forum.xda-developers.com/showthread.php?t=2152819
Let me download all the files(might take a month due to slow internet speed) and post the result :/ .BTW if you have any suggestions for me,then you are welcome
Click to expand...
Click to collapse
Unfortunatly for you, I won't be of much help for the moment, I'm pretty new to Kernel/Android stuff.
Good news, I was able to build Kernel + Recovery + LineageOS 13.0 and Flash everything to my phone, now I'll test functionnalities.
Hello guys,
im trying to port the halium project on the galaxy s4 jfltexx.
Now i want to verify if the local manifest is matching so i can build it from source.
Can anyone verify if its right or correct it if its not matching.
im using the source from the halium docs: Vendor from TheMuppets, Device specific source code from Lineageos and the kernel from lineageos, too.
So heres my local manifest:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="android_device_samsung_jfltexx" name="android_device_samsung_jfltexx" remote="los" revision="cm-14.1" />
<project path="device/samsung/jfltexx" name="android_device_samsung_jfltexx" remote="los" revision="cm-14.1" />
<project path="proprietary/vendor/samsung" name="proprietary_vendor_samsung" remote="them" revision="cm-14.1" />
<project path="android/kernel/samsung/jf" name="android_kernel_samsung_jf" remote="los" revision="cm-14.1" />
</manifest>
Thanks in advance!