Hi
I am trying to build a rom from PA sources using this guide->
http://forum.xda-developers.com/showthread.php?t=1863547
the first error occured while downloading repo using-
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
(+some other commands according to tutorial)
but it always came out to be corrupted and when i opened file there was error like "404 not found".
So i downloaded repo using ->
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
as told in this guide-> http://forum.xda-developers.com/showthread.php?t=2464683 and it worked fine and i succesfully installed repo.
Then second problem came while creating local_manifest.xml
Since my phone is galaxy s3 i9300, i directly copied and pasted this code as OP said in first tutorial->
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="ParanoidAndroid/android_device_samsung_i9300" path="device/samsung/i9300" remote="github" revision="cm-10.2" />
<project name="CyanogenMod/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" revision="cm-10.2" />
<project name="ParanoidAndroid/android_device_samsung_smdk4412-common" path="device/samsung/smdk4412-common" remote="github" revision="cm-10.2" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="cm-10.2" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-10.2" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="cm-10.2" />
</manifest>
I put this file in .repo/
but when running repo sync, it gave error-> warning: local_manifest.xml is deprecated; put local manifests in local_manifests instead
So i deleted it for time being.
Then I ran repo sync again and this time i got following errors->
fatal: Not a Git repository: "path to my repo"/bionic.git
fatal: Not a Git repository: "path to my repo"/recovery.git
So i also deleted these two files and ran repo sync again. This time it was ok.
But I know I am in serious trouble.
I am trying to get PA 4.2.2 version using->
Code:
repo init -u git://github.com/ParanoidAndroid/manifest.git -b jellybean-legacy
Also, the tutorial by gokussjx says->
VERY IMPORTANT: Now, before the final stage sync, make sure there's no code referring to 'ParanoidPreferences' in manifest.
To check that
1) Open your File Browser,
2) Press Ctrl+H (to show hidden files/directories)
3) Navigate to android/system/.repo/manifest.xml
(Right Click & open the XML file in text editor)
*REMOVE ANY 'PARANOIDPREFERENCES' CODE FROM MANIFEST*
*REMOVE GROUPER DEVICE TREE FROM MANIFEST*
Click to expand...
Click to collapse
I never found any such things in manifest.xml
(Maybe because I am downloading one from 4.2.2 instead of 4.3?)
And the final array of errors I am getting->
Code:
error: RPC failed; result=56, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
and
Code:
ror: Cannot fetch ParanoidAndroid/android_build
I have also tried deleting the whole directory and starting over again, but results are same.
Please help.
Are you using ethernet?
I had issues with repo stalling to a stand-still, but not crashing when using ethernet, I switched to wifi and I was able to synce. Something about tcp windowing.
Also, XML is notoriously finicky. Sometimes a cut and paste of the whole page has fixed bugs and errors for me. I didn't even have to change a single character. I think XML is crap but thats my opinion based on my experience with it. Sorry, not much help. Look around, I know the repo init command needs to be right to.
If the devs are asking you o remove code from a script, forget that sh*t, they are lazy.
What ever you do, don't keep trying the same thing over and over.
Edge-Case said:
Are you using ethernet?
I had issues with repo stalling to a stand-still, but not crashing when using ethernet, I switched to wifi and I was able to synce. Something about tcp windowing.
Also, XML is notoriously finicky. Sometimes a cut and paste of the whole page has fixed bugs and errors for me. I didn't even have to change a single character. I think XML is crap but thats my opinion based on my experience with it. Sorry, not much help. Look around, I know the repo init command needs to be right to.
If the devs are asking you o remove code from a script, forget that sh*t, they are lazy.
What ever you do, don't keep trying the same thing over and over.
Click to expand...
Click to collapse
Thanks for reply.
I am actually using vmware workstation 10 for this work.
Yeah i use ethernet, but how could that be problem i wonder... it just provides Internet access....
And btw there are a lot bunch of errors.....
What should i do about local_manifest.xml?? It's main device structure right?
Jaskaran498 said:
Thanks for reply.
I am actually using vmware workstation 10 for this work.
Yeah i use ethernet, but how could that be problem i wonder... it just provides Internet access....
And btw there are a lot bunch of errors.....
What should i do about local_manifest.xml?? It's main device structure right?
Click to expand...
Click to collapse
hmm
I dont use vmware if I don't have to.
For me, the ethernet had something to do with Linux kernel and tcp windowing, not sure, but using wifi for syncing works.
Start fresh, try CyanogenMod
http://wiki.cyanogenmod.org/w/Build_for_i9300
if that recipe works, then PA's recipe is probably broken or the guide you read was wrong. Otherwise, if CM fails, it is probably your set-up. I have an easy time building on 64bit Kali Linux, it comes with the SDK and a lot of tools to test your builds against or to reverse engineer proprietary drivers.
Edge-Case said:
hmm
I dont use vmware if I don't have to.
For me, the ethernet had something to do with Linux kernel and tcp windowing, not sure, but using wifi for syncing works.
Start fresh, try CyanogenMod
http://wiki.cyanogenmod.org/w/Build_for_i9300
if that recipe works, then PA's recipe is probably broken or the guide you read was wrong. Otherwise, if CM fails, it is probably your set-up. I have an easy time building on 64bit Kali Linux, it comes with the SDK and a lot of tools to test your builds against or to reverse engineer proprietary drivers.
Click to expand...
Click to collapse
well... CM worked well, though I had to install some dependencies that were not mentioned in guide before. Maybe i will be able to get PA to work also.
Currently I changed my mind and I'll be trying out to cm10.1 .
So far no errors.
I'll see how it goes and then try PA too.
thanks for help so far
Jaskaran498 said:
well... CM worked well, though I had to install some dependencies that were not mentioned in guide before. Maybe i will be able to get PA to work also.
Currently I changed my mind and I'll be trying out to cm10.1 .
So far no errors.
I'll see how it goes and then try PA too.
thanks for help so far
Click to expand...
Click to collapse
Can i ask wich dependencies because i use same tut with same error (git repository not found error) for the Galaxy ace 2x i used local_manifest.xml from my cm10.2 device tree.
Thanks in advance.
Anas Karbila said:
Can i ask wich dependencies because i use same tut with same error (git repository not found error) for the Galaxy ace 2x i used local_manifest.xml from my cm10.2 device tree.
Thanks in advance.
Click to expand...
Click to collapse
Thats an old rhing and i dont remember precisly, but i remember installing all dependencies that were listed in how to build cm tutorial (just look for it, its common) and also the ones that were listed in how to build your own ubuntu touch on ut wiki page (i just selected and installed all, missing ones got automatically installed). In the end, i remember updating my repo too.
Jaskaran498 said:
Thats an old rhing and i dont remember precisly, but i remember installing all dependencies that were listed in how to build cm tutorial (just look for it, its common) and also the ones that were listed in how to build your own ubuntu touch on ut wiki page (i just selected and installed all, missing ones got automatically installed). In the end, i remember updating my repo too.
Click to expand...
Click to collapse
A thanks but i already solved the problem
Related
A follow up on this - http://forum.xda-developers.com/showpost.php?p=28177937&postcount=1768 - in the CM9 FXP thread, have I promised to make a little guide.
Guide how I build CM9 for my Mango.
For the first time you try to build CM9.
Create ~/bin and download repo to that directory. Afterwards set executable bit to make it possible to ”execute”.
Code:
mkdir -p ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now reboot the computer.
Create ~/android/system amd initialize the repository.
Code:
mkdir -p ~/android/system
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b ics
repo sync
Setup the environmental settings and initialize the Mango build.
Code:
. build/envsetup.sh
brunch mango
Setup the environmental settings and initialize the Mango build.
Code:
git clone git://github.com/TheMuppets/proprietary_vendor_semc.git -b ics ~/android/system/vendor/semc
cd ~/android/system/device/semc/mango/
./setup-makefiles.sh
Download the prebuilts
Code:
~/android/system/vendor/cm/get-prebuilts
Check for new changes
Code:
cd ~/android/system/
repo sync
Setup the environment again and build the ROM (takes long time)
Code:
. build/envsetup.sh
brunch mango
You will now find the build here (change DATE into the date).
~/android/system/out/target/product/mango/cm-9-DATE-UNOFFICIAL-mango.zip
The next times you try to build it, you only need to do the following.
Delete build.prop, if not will build.prop not get generated.
Code:
rm -f ~/android/system/out/target/product/mango/system/build.prop
Syncronise the git repositories.
Code:
cd ~/android/system/
repo sync
Setup the environmental settings.
Code:
. build/envsetup.sh
Configure/build.
Code:
brunch mango
You will now find the build here (change DATE into the date).
~/android/system/out/target/product/mango/cm-9-DATE-UNOFFICIAL-mango.zip
If you are trying to build it on a 32bit system, you should change line 374 in ~/android/system/device/semc/msm7x30-common/releasetools/common.py
from:
Code:
cmd = ["java", "-Xmx2048m", "-jar",
to:
Code:
cmd = ["java", "-Xmx1024m", "-jar",
If you get into any trouble, please let me know, I may have missed something.
EDIT (July 2. 2012): I have made a patch to msm7x30-common, so you do not need to edit the file (with this patch does it automatically check if you run on a 64bit or a 32bit system):
http://code.google.com/p/freexperia/issues/detail?id=527
EDIT (July 6. 2012): If there has been an update on git://github.com/koush/proprietary_vendor_semc.git (like there has been today), shall you do the following (pull the updates):
Code:
cd ~/android/system/vendor/semc
git pull
EDIT (July 8. 2012): Adding the following, just before "</manifest>" in ".repo/local_manifest.xml" and the proprietary files will also get updated, when you make a normal "repo sync". Got this idea after talking to Andreas (so thank you Andreas).
Code:
<project name="TheMuppets/proprietary_vendor_semc" path="vendor/semc" remote="github" revision="ics" />
EDIT (July 11. 2012): Changed the proprietary repository from git://github.com/koush/proprietary_vendor_semc.git to git://github.com/TheMuppets/proprietary_vendor_semc.git
allright, i have already synched the cm9 repo. about 5.8 gbs
can you tell me what folders does it include?
edit:took me a few days to download, just don't want to download again
gandhar said:
allright, i have already synched the cm9 repo. about 5.8 gbs
can you tell me what folders does it include?
Click to expand...
Click to collapse
Are you thinking of the "clean" repo?
My ~/android/system/ consists of the following (remember the hidden directories):
abi
android
bionic
bootable
build
dalvik
development
device
external
frameworks
hardware
kernel
libcore
ndk
out
packages
prebuilt
sdk
system
vendor
.repo
.repoconfig
Makefile
You should be able to move your current directory and "just" sync it, to get it up to date.
hnl_dk said:
Are you thinking of the "clean" repo?
My ~/android/system/ consists of the following (remember the hidden directories):
abi
android
bionic
bootable
build
dalvik
development
device
external
frameworks
hardware
kernel
libcore
ndk
out
packages
prebuilt
sdk
system
vendor
.repo
.repoconfig
Makefile
Click to expand...
Click to collapse
allright, out of these except for kernel, out and .repoconfig i have all the others synced.
will using
Code:
repo init -u git://github.com/CyanogenMod/android.git -b ics
repo sync
work?
i am missing kernel, out and .repoconfig
gandhar said:
allright, out of these except for kernel, out and .repoconfig i have all the others synced.
will using
Code:
repo init -u git://github.com/CyanogenMod/android.git -b ics
repo sync
work?
i am missing kernel, out and .repoconfig
Click to expand...
Click to collapse
They are possibly first created when running brunch the first time. So it should be fine.
successfully building, but getting loads of warnings..
is that normal for the first build?
will report if it boots after compile is over.
gandhar said:
successfully building, but getting loads of warnings..
is that normal for the first build?
will report if it boots after compile is over.
Click to expand...
Click to collapse
There are lots of warnings.
Personally I usually remove all that warnings (using the -Werror option, so warnings get treated as errors) in the projects I am working on. But I understand why it can be a big problem with CM9, that is based on many different projects.
Looking forward to hear if you get a successful built.
hnl_dk said:
There are lots of warnings.
Personally I usually remove all that warnings (using the -Werror option, so warnings get treated as errors) in the projects I am working on. But I understand why it can be a big problem with CM9, that is based on many different projects.
Looking forward to hear if you get a successful built.
Click to expand...
Click to collapse
building will take some time...
well, most warnings are 'some variable has been set but not used', is that much significant?
gandhar said:
building will take some time...
well, most warnings are 'some variable has been set but not used', is that much significant?
Click to expand...
Click to collapse
Yes, first build takes a lot of time... the next times it will be a lot faster.
No that is not very significant, but things like that should still get fixed, to to make it easier to find the significant things.
The less warnings the more easy it is to spot what is important. This also goes for things that should get changed when upgrading to a new major version of the toolchain.
succesfull build!
phone:coconut-wt19i
time: 56 mins for the complete build.
cpu: 2.9 ghz - 4 cores
os:ubuntu 12.04 64 bit
backed up the phone.
boots into recovery
errorless install.
gandhar said:
phone:coconut-wt19i
time: 56 mins for the complete build.
cpu: 2.9 ghz - 4 cores
os:ubuntu 12.04 64 bit
backed up the phone.
boots into recovery
errorless install.
Click to expand...
Click to collapse
Super, looking forward to hear if everything is going to run as as should
hnl_dk said:
Super, looking forward to hear if everything is going to run as as should
Click to expand...
Click to collapse
running fine.
but i see some dependencies missing from the libs needed from
http://wiki.cyanogenmod.com/wiki/Template:Build_from_source_(CM9)
downloading them, will build again later..
is that the reason for the warnings?
gandhar said:
running fine.
but i see some dependencies missing from the libs needed from
http://wiki.cyanogenmod.com/wiki/Template:Build_from_source_(CM9)
downloading them, will build again later..
is that the reason for the warnings?
Click to expand...
Click to collapse
looks like a nice guide that is working with most devices, will save that link
No, the warnings are simply that you rarely find "clean" code, where most warnings have been fixed.
You also need to think of all the code from external projects.
You also only get many of the warnings, if you do not compile the code for some specific platforms.
hnl_dk said:
looks like a nice guide that is working with most devices, will save that link
No, the warnings are simply that you rarely find "clean" code, where most warnings have been fixed.
You also need to think of all the code from external projects.
You also only get many of the warnings, if you do not compile the code for some specific platforms.
Click to expand...
Click to collapse
saw that guide after i started checking for dependencies.
1.hey i see two zips in the output,
one cm-9-20120702-UNOFFICIAL-coconut and other cm_coconut-ota-eng.gandhar
the second is bigger.
i used the first one. why is the second one built i wonder?
2.i think of compiling aosp from source too, but the out folder is 11.3 gbs, what about that?
i do not want to end up falling short on space.
3.this is a system related question, how much will it hinder performance if i move the source to a different internal hd from the main one and build from there?
gandhar said:
saw that guide after i started checking for dependencies.
1.hey i see two zips in the output,
one cm-9-20120702-UNOFFICIAL-coconut and other cm_coconut-ota-eng.gandhar
the second is bigger.
i used the first one. why is the second one built i wonder?
Click to expand...
Click to collapse
Try to read the name ;-)
OTA - Over The Air... I guess that it can mbe used tfor OTA updates, like the mobile companies makes.
gandhar said:
2.i think of compiling aosp from source too, but the out folder is 11.3 gbs, what about that?
i do not want to end up falling short on space.
Click to expand...
Click to collapse
You could do a "make clear", but if you have enough space, would I keep it, so you do not need to wait for the already up to date files.
gandhar said:
3.this is a system related question, how much will it hinder performance if i move the source to a different internal hd from the main one and build from there?
Click to expand...
Click to collapse
There will be no problem with performance, as long as you move it to a HDD that is not too slow.
EDIT (July 2. 2012): I have made a patch to msm7x30-common, so you do not need to edit the file (with this patch does it automatically check if you run on a 64bit or a 32bit system):
http://code.google.com/p/freexperia/issues/detail?id=527
i do a repo sync again, at end of it i get errors on changed files. i think its not replacing the old files.
it's red text
error: bootable/recovery/: CyanogenMod/android_bootable_recovery checkout f8fc12e741d566af215407f35cfc52e5c1cc0023
error: build/: CyanogenMod/android_build checkout df7d6893a59e62c15dd20e306d8280b16969097c
error: external/openssl/: CyanogenMod/android_external_openssl checkout d4004ae717232b83ea445f74c881d9ddc24f589d
error: frameworks/base/: CyanogenMod/android_frameworks_base checkout e0a8c35c1572f0f0dbbda4d871d0a919a79cbe3f
error: hardware/samsung/: CyanogenMod/android_hardware_samsung checkout 23280fc439163a1971956167217283c4ae70bce3
error: packages/apps/Camera/: CyanogenMod/android_packages_apps_Camera checkout 644384a979ec9bd6b237e9031d5afbf592d3056b
error: packages/apps/Settings/: CyanogenMod/android_packages_apps_Settings checkout a946d9a905d460fa9d6c153e031285b566f8d223
error: system/core/: CyanogenMod/android_system_core checkout 389a2fa1d7e4bb8b6be411f272de2e8c92817964
gandhar said:
i do a repo sync again, at end of it i get errors on changed files. i think its not replacing the old files.
it's red text
error: bootable/recovery/: CyanogenMod/android_bootable_recovery checkout f8fc12e741d566af215407f35cfc52e5c1cc0023
error: build/: CyanogenMod/android_build checkout df7d6893a59e62c15dd20e306d8280b16969097c
error: external/openssl/: CyanogenMod/android_external_openssl checkout d4004ae717232b83ea445f74c881d9ddc24f589d
error: frameworks/base/: CyanogenMod/android_frameworks_base checkout e0a8c35c1572f0f0dbbda4d871d0a919a79cbe3f
error: hardware/samsung/: CyanogenMod/android_hardware_samsung checkout 23280fc439163a1971956167217283c4ae70bce3
error: packages/apps/Camera/: CyanogenMod/android_packages_apps_Camera checkout 644384a979ec9bd6b237e9031d5afbf592d3056b
error: packages/apps/Settings/: CyanogenMod/android_packages_apps_Settings checkout a946d9a905d460fa9d6c153e031285b566f8d223
error: system/core/: CyanogenMod/android_system_core checkout 389a2fa1d7e4bb8b6be411f272de2e8c92817964
Click to expand...
Click to collapse
Have not tried that.
You can try to do a "repo forall -c git reset --hard" this "resets" all the repositories (removes all changes, also if something has been corrupted).
hnl_dk said:
Have not tried that.
You can try to do a "repo forall -c git reset --hard" this "resets" all the repositories.
Click to expand...
Click to collapse
will it redownload?
Hey there i need some help building the rom
So here is everything
My Device -LGP765/P760(765 is For India,760 for Europe)both are similar except for nfc
First time building!!
Ubuntu 13.10
Building P.AC man rom 4.4.2
I followed on this page how to create local manifests
http://forum.xda-developers.com/show...67932740075873
pretty helpful but i think i messed up
gives me the error that it cannot fetch "android_kernel_lge_p760"
my local manifests:
Code:
<manifest>
<remote name="ropac" fetch="git://github.com/PAC-man/pacman.git"/>
<project path="kernel/lge/p760" name="android_kernel_lge_p760" remote="ropac" revision="pac-4.4"/>
</manifest>
anyway the repo is syncing i am at 99%:fingers-crossed:
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?
Okay, so I've been looking into porting cyanogenmod for unsupported devices, and the tutorial on the cyanogenmod wiki says to have at least built cyanogenmod before, so that is what I'm trying to do with my LG G3 (vs985). So I've freshly installed Ubuntu 14.04 and followed the setting up of the build environment tutorial the best that I can, but for some reason, I always get errors like "no rule to make target." It also has a buttload of warnings as it's going along, but I just assumed that was normal for an unofficial nightly build. If anyone is willing to help me out, I'll be glad to give more details and such so that we can narrow down my issues. Thanks.
The exact error log will help. Also, if the vs985 is unsupported you will need to include your own device trees, kernel trees etc etc in your local manifest. There is a whole really good guide on building ROM from source here
As @limjh16 has mentioned since its an unofficial build of cm 13 you need to make a local manifest which specifies the kernel source, hardware sources etc so terminal knows where to look for to build for that device.
Example local manifest looks like this
<?xml version="1.0" encoding="UTF-8"?>
<!--Please do not manually edit this file-->
<manifest>
<project name="android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="omnirom" revision="android-4.4" />
<project name="android_device_samsung_aries-common" path="device/samsung/aries-common" remote="omnirom" revision="android-4.4" />
<project name="android_kernel_samsung_aries" path="kernel/samsung/aries" remote="omnirom" revision="android-4.4" />
<project name="android_hardware_samsung" path="hardware/samsung" remote="omnirom" revision="android-4.4" />
<project name="android_device_samsung_vibrantmtd" path="device/samsung/vibrantmtd" remote="omnirom" revision="android-6.0" />
</manifest>
I have had similar problems regarding building as well. I am still new to building roms so hope i helped you
The LG vs985 is a supported device. I will try to find my errors shortly and post them when I can.
*Bump*
Okay, I've finally gotten around to trying to build it again, and this is what I get:
Code:
make: *** No rule to make target `vendor/lge/vs985/proprietary/bin/rfs_access', needed by `/home/spenceboy98/android/system/out/target/product/vs985/system/bin/rfs_access'. Stop.
make: *** Waiting for unfinished jobs....
It doesn't seem like it's getting as far as it used to (I did a fresh install of Ubuntu 14.04).
Any suggestions?
spenceboy98 said:
*Bump*
Okay, I've finally gotten around to trying to build it again, and this is what I get:
Code:
make: *** No rule to make target `vendor/lge/vs985/proprietary/bin/rfs_access', needed by `/home/spenceboy98/android/system/out/target/product/vs985/system/bin/rfs_access'. Stop.
make: *** Waiting for unfinished jobs....
It doesn't seem like it's getting as far as it used to (I did a fresh install of Ubuntu 14.04).
Any suggestions?
Click to expand...
Click to collapse
Your missing your proprietary files which should be located in your vendor folder.
You can get them from here
https://github.com/TheMuppets/proprietary_vendor_lge. Just add it to your manifest.
Edit: Was looking at your devices trees on CM github and seems it isn't part of the dependencies to add the vendor folder. So just make a local_manifest.xml in .repo/local_manifest and then add this
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" revision="cm-13.0" />
</manifest>
Also, next time please include whole log. The error may be found only above. In this case it was found in last 3 lines but next time copy whole terminal output to hastebin.com or pastebin.com and post here
WildfireDEV said:
Your missing your proprietary files which should be located in your vendor folder.
You can get them from here
https://github.com/TheMuppets/proprietary_vendor_lge. Just add it to your manifest.
Edit: Was looking at your devices trees on CM github and seems it isn't part of the dependencies to add the vendor folder. So just make a local_manifest.xml in .repo/local_manifest and then add this
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" revision="cm-13.0" />
</manifest>
Click to expand...
Click to collapse
Thanks. I've done that and tried again.
My current build log can be found in this text file (it exceeds pastebin and hastebin's limit): http://bit.ly/1rawolw
spenceboy98 said:
Thanks. I've done that and tried again.
My current build log can be found in this text file (it exceeds pastebin and hastebin's limit): http://bit.ly/1rawolw
Click to expand...
Click to collapse
It's the same error because you didn't repo sync. Sorry I failed to mention that.
WildfireDEV said:
It's the same error because you didn't repo sync. Sorry I failed to mention that.
Click to expand...
Click to collapse
I did repo sync though? Hm, I'll have to take a look at it when I get home.
Okay, I can confirm that the files were downloaded. Here's the new build log: http://bit.ly/1rawolw
Thanks for your help so far.
Edit: Sorry for the double post. I just feel like people won't see my post if I just edit.
*Bump*
Can anyone help with this?
so, since i had my share of troubles building LineageOS for the Mi 9 (codename cepheus), I thought i'd help you guys out with building.
I DO HAVE A COMPILED ZIP, BUT SINCE I DON'T HAVE THE POINTS TO POST IN THE ROM PART YET, I WILL NOT SHARE IT BECAUSE I DOUBT MODS WILL LIKE THAT. MODS, PLEASE SAY IF I CAN SHARE THE ZIP FILE.
if you want the zip, give me "thanks" or something so i can get the 10 required points. if you **really** (and only if you REALLY appreciate this, it is ABSOLUTELY NOT expected or required to do this) appreciate this because you couldn't get android to build for the life of it: https://paypal.me/drgdeveloper
prereqs: a powerful PC, or a lot of time (read 24h +), at LEAST 8gb ram. on my dell poweredge (144gb ram, 2x Xeon X5650 (6 cores, 12 threads @ 2.66ghz)) it took over 4 hours (using over 40gb ram and 24 thread compilation). and 120gb + space
first, get the platform tools and add them to your path;
Code:
#if you unzipped it in your home directory
export PATH=$PATH:$HOME/platform-tools
get these dependencies:
Code:
bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
then get the android developer tools
Code:
#this wil put the tools in your home directory
mkdir ~/bin
curl [url]https://storage.googleapis.com/git-repo-downloads/repo[/url] > ~/bin/repo
#add it to your path
export PATH=$PATH:$HOME/bin
then set up git:
Code:
# you can safely leave this at default settings
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
create your building directory:
Code:
mkidr ~/android/lineage
cd ~/android/lineage
repo init -u [url]https://github.com/LineageOS/android.git[/url] -b lineage-17.1
get the source code (this will take 4-24hrs depending on your internet speed, you can safely stop this and resume later without losing time)
Code:
repo sync -c
NOTE: i got told that you should use repo sync -c to only get the current branches, if you have any issues with repo sync -c, then use repo sync without -c
Also, for faster downloads, if you have a decent internet speed, you can append -j and then a number. Pick a number that's between 2 and the amount of cpu cores you have. If your speed is above 100 mbit/s, just pick the amount of CPU cores (unless it's above 24 or something, then stick to 24).
So in , assuming you picked the number 4:
Code:
repo sync -c -j4
then create a local manifest for the mi 9 specific files:
Code:
cd ~/android/lineage/.repo
#this may already exist
mkdir local_manifests
cd local_manifests
touch cepheus.xml
edit cepheus.xml with your preferred text editor, and paste this
Code:
<?xml version="1.0" encoding="utf-8" ?>
<manifest>
<project name="drg-developer/device_xiaomi_sm8150-common" path="device/xiaomi/sm8150-common" remote="github" revision="lineage-17.1"/>
<project name="drg-developer/device_xiaomi_cepheus" path="device/xiaomi/cepheus" remote="github" revision="lineage-17.1"/>
<project name="drg-developer/kernel_xiaomi_sm8150" path="kernel/xiaomi/sm8150" remote="github" revision="lineage-17.1"/>
<project name="drg-developer/vendor_xiaomi_sm8150-common" path="vendor/xiaomi/sm8150-common" remote="github" revision="lineage-17.1"/>
<project name="LineageOS/android_hardware_xiaomi" path="hardware/xiaomi" remote="github" revision="lineage-17.1"/>
<manifest>
these are the my personal mirrors or the files that i use, if you don't trust them, you can get most of them from Demon000, but not all (for example the vendor file because of DMCA takedown). so i gathered them all at one place. why? at one point i will become a trusted developer and then it's nice to have all the files at one place. (i don't have the required points yet to post in the rom part)
then type
Code:
repo sync
again.
after that, type
Code:
cd ~/android/lineage
source build/envsetup.sh
brunch lineage_cepheus-user
now this will take a LOONG time. sometimes the time will become red: just ignore that. only if the time is over 2 hours restart your pc. your pc will also most likely "freeze", just let it be.
and then you will wait tillit is finished. resolve any errors you have with common sense.
and now type:
Code:
cd $OUT
ls
you'll see a file called lineage-17.1-<DATE>-UNOFFICIAL-cepheus.zip. it's a flashable file. get the latest mauronofrio TWRP here: https://forum.xda-developers.com/Mi-9/development/recovery-unofficial-twrp-xiaomi-mi-9-t3905825 and flash the twrp. then after that sideload the zip file, and, YOU DID IT!
DRG-developer said:
so, since i had my share of troubles building LineageOS for the Mi 9 (codename cepheus), I thought i'd help you guys out with building.
I DO HAVE A COMPILED ZIP, BUT SINCE I DON'T HAVE THE POINTS TO POST IN THE ROM PART YET, I WILL NOT SHARE IT BECAUSE I DOUBT MODS WILL LIKE THAT. MODS, PLEASE SAY IF I CAN SHARE THE ZIP FILE.
if you want the zip, give me "thanks" or something so i can get the 10 required points. if you **really** (and only if you REALLY appreciate this, it is ABSOLUTELY NOT expected or required to do this) appreciate this because you couldn't get android to build for the life of it: https://paypal.me/drgdeveloper
prereqs: a powerful PC, or a lot of time (read 24h +), at LEAST 8gb ram. on my dell poweredge (144gb ram, 2x Xeon X5650 (6 cores, 12 threads @ 2.66ghz)) it took over 4 hours (using over 40gb ram and 24 thread compilation). and 120gb + space
first, get the platform tools and add them to your path;
Code:
#if you unzipped it in your home directory
export PATH=$PATH:$HOME/platform-tools
get these dependencies:
Code:
bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
then get the android developer tools
Code:
#this wil put the tools in your home directory
mkdir ~/bin
curl [url]https://storage.googleapis.com/git-repo-downloads/repo[/url] > ~/bin/repo
#add it to your path
export PATH=$PATH:$HOME/bin
then set up git:
Code:
# you can safely leave this at default settings
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
create your building directory:
Code:
mkidr ~/android/lineage
cd ~/android/lineage
repo init -u [url]https://github.com/LineageOS/android.git[/url] -b lineage-17.1
get the source code (this will take 4-24hrs depending on your internet speed, you can safely stop this and resume later without losing time)
Code:
repo sync
then create a local manifest for the mi 9 specific files:
Code:
cd ~/android/lineage/.repo
#this may already exist
mkdir local_manifests
cd local_manifests
touch cepheus.xml
edit cepheus.xml with your preferred text editor, and paste this
Code:
<?xml version="1.0" encoding="utf-8" ?>
<manifest>
<project name="drg-developer/device_xiaomi_sm8150-common" path="device/xiaomi/sm8150-common" remote="github" revision="lineage-17.1"/>
<project name="drg-developer/device_xiaomi_cepheus" path="device/xiaomi/cepheus" remote="github" revision="lineage-17.1"/>
<project name="drg-developer/kernel_xiaomi_sm8150" path="kernel/xiaomi/sm8150" remote="github" revision="lineage-17.1"/>
<project name="drg-developer/vendor_xiaomi_sm8150-common" path="vendor/xiaomi/sm8150-common" remote="github" revision="lineage-17.1"/>
<project name="LineageOS/android_hardware_xiaomi" path="hardware/xiaomi" remote="github" revision="lineage-17.1"/>
<manifest>
these are the my personal mirrors or the files that i use, if you don't trust them, you can get most of them from Demon000, but not all (for example the vendor file because of DMCA takedown). so i gathered them all at one place. why? at one point i will become a trusted developer and then it's nice to have all the files at one place. (i don't have the required points yet to post in the rom part)
then type
Code:
repo sync
again.
after that, type
Code:
cd ~/android/lineage
source build/envsetup.sh
brunch lineage_cepheus-user
now this will take a LOONG time. sometimes the time will become red: just ignore that. only if the time is over 2 hours restart your pc. your pc will also most likely "freeze", just let it be.
and then you will wait tillit is finished. resolve any errors you have with common sense.
and now type:
Code:
cd $OUT
ls
you'll see a file called lineage-17.1-<DATE>-UNOFFICIAL-bacon.zip. it's a flashable file. get the latest mauronofrio TWRP here: https://forum.xda-developers.com/Mi-9/development/recovery-unofficial-twrp-xiaomi-mi-9-t3905825 and flash the twrp. then after that sideload the zip file, and, YOU DID IT!
Click to expand...
Click to collapse
Excellent!
Can You tell me please why not to use LineageOS own recovery which is automatically build during ROM building procedure anyhow?
I just use TWRP because it's fully featured
I always use TWRP, the lineage receovery probably works fine :
Cd $OUT
fastboot flash recovery recovery.img
Fastboot reboot recovery
But I prefer TWRP because of it's nice UI and stuff
DRG-developer said:
prereqs: a powerful PC, or a lot of time (read 24h +), at LEAST 8gb ram.
Click to expand...
Click to collapse
That's where I struggle already!
However, I really appreciate your approach of looking into LineageOS for Mi 9. I'm a fan of LOS for many years, my previous device OP 2 in the meantime runs under LOS 18.0. Although I'm quite satisfied with Paranoid Android for my Mi 9 I'd give LOS immediately a look once it's stable enough for daily usage.
Cheers
Toscha
toscha42 said:
That's where I struggle already!
However, I really appreciate your approach of looking into LineageOS for Mi 9. I'm a fan of LOS for many years, my previous device OP 2 in the meantime runs under LOS 18.0. Although I'm quite satisfied with Paranoid Android for my Mi 9 I'd give LOS immediately a look once it's stable enough for daily usage.
Cheers
Toscha
Click to expand...
Click to collapse
I haven't noticed any instabilities yet.
I compiled it with private keys, then i'll try for one week. If i like it, i might apply for official device maintainership
It's not so much about instabilities. In the early days when Cosmin still was building LOS 17.1 for Cepheus I used it on a daily basis. But I had to stop using it when - can't remember when - NFC didn't work any longer on my device. It was still working for most of the others but I also wasn't the only one with that defect. Never had it since with PAQ though.
Cheers
Toscha
DRG-developer said:
I always use TWRP, the lineage receovery probably works fine :
Cd $OUT
fastboot flash recovery recovery.img
Fastboot reboot recovery
But I prefer TWRP because of it's nice UI and stuff
Click to expand...
Click to collapse
OK.
I'm personally more in "all in one" solution if it works as it should.
Thank You very much for this guide and all what is included in it!
For every recommendation!
Thank you very much for this guide and it would be awesome if you apply as an official device maintainer.
Jehonan said:
Excellent!
Can You tell me please why not to use LineageOS own recovery which is automatically build during ROM building procedure anyhow?
Click to expand...
Click to collapse
This is a nice, concise guide.
FYI, you should be able to use the -c flag when you do repo sync to only grab the current branch-tree. And if you have a good Internet connection, the -j flag will allow for multi-thread downloads.
These can speed up the overall process significantly (and save on overall bandwidth).
ie.
Code:
repo sync -j2 -c
I am testing a compile now using your device trees for the first time so I will let you know how it goes.
Nice work!
Latest build compiled with this great guide.
Good Source Trees. I've been having difficulty building from Demon000's trees the past week due to library issues.
Uploading to Mega now. I'll post a link in the morning to anyone who wants a fresh build of DRG-Developer's cepheus build without doing the work. lol
Haven't flashed yet but will try it out this weekend.
photonmedia said:
This is a nice, concise guide.
FYI, you should be able to use the -c flag when you do repo sync to only grab the current branch-tree. And if you have a good Internet connection, the -j flag will allow for multi-thread downloads.
These can speed up the overall process significantly (and save on overall bandwidth).
ie.
Code:
repo sync -j2 -c
I am testing a compile now using your device trees for the first time so I will let you know how it goes.
Click to expand...
Click to collapse
IIRC repo sync automatically decides how many threads it can use. Though now you say that, i did use -J12 (for faster resolving delta's) I'll add that, thanks! I didn't know about -c, so i'll add that as a side note
Nice work!
Click to expand...
Click to collapse
Thanks!
Latest Build: 2020-10-30
I've compiled from DRG's personal mirrors. Compilation was successful without error.
I have not yet flashed it because I'm going to be in need of my daily for the next day or two but if anyone wants to give it a shot it's HERE on Mega
I assume you will need to have flashed the latest XIaomi FW for Android 10 prior to flashing this build. If you get bootloops that drop you back at TWRP eventually, that is likely the issue.
DRG-Developer gets all credit as this is built form his mirrors. I merely compiled it.
Hello, flashed with last firmware and mini gapps for me. Boot with no error. i´m testing.
Thanks for your work !
---------- Post added at 04:30 PM ---------- Previous post was at 04:03 PM ----------
All is OK for me. Juste one problem, CTS profile match FAIL and phone not certified in Playstore. Thanks.
Got a error on repo sync
fatal: error parsing manifest /home/mcc/lindata/android/lineage/.repo/local_manifests/cepheus.xml: no element found: line 10, column 0
any suggestions?
here only one was missing / . It work's now!
tapalief said:
Hello, flashed with last firmware and mini gapps for me. Boot with no error. i´m testing.
Thanks for your work !
---------- Post added at 04:30 PM ---------- Previous post was at 04:03 PM ----------
All is OK for me. Juste one problem, CTS profile match FAIL and phone not certified in Playstore. Thanks.
Click to expand...
Click to collapse
Has anyone else tried this build that can verify if there are Playstore issues? I would really like to know before flashing over my daily driver....
tapalief, which GAPPS package did you flash?
If I remember, I flashed Official Mini Gapps. I read it´s a common issue with Lineage not being certified with Mi 9 ?
tapalief said:
If I remember, I flashed Official Mini Gapps. I read it´s a common issue with Lineage not being certified with Mi 9 ?
Click to expand...
Click to collapse
I've never had that issue with any of my LineageOS builds that I have done previously using Demon000/Markakash trees.
Hopefully we can confirm if it is an issue with Lineage or the GAPP package.
You did flash GAPPS before your first boot into Lineage, right?
Everything works like a charm
Yes, I flashed Lineage, Gapps, Wipe cache and Dalvik, then reboot. I will try with another Gapps package when I can.
__infin1ty said:
Everything works like a charm
Click to expand...
Click to collapse
That's good to hear!