Related
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
Hi,
I have been trying to build CM11 from source. I've basicly been following the build on the CM WIKI (http://wiki.cyanogenmod.org/w/Build_for_i9300)
I got as far as running "Brunch i9300" but it fails quickly with the follwoing error:
Code:
make: *** No rule to make target `vendor/samsung/smdk4412-common/proprietary/system/lib/libTVOut.so', needed by `/home/mark/cm11/out/target/product/i9300/obj/lib/libTVOut.so'. Stop.
I've googled a lot for a solution - but not made much progress!
1.. As far as I can work out libTVOut.so is a file proprietary file that I am supposed to extract from the my phone using the "extract-files.sh" script. I have run this an it does appear to complete sucessfully (i.e. it does pull a whole bunch of files) but libTVOut.so is notone of the files extracted.
2. It seems the alternative to running extract-files is to download the blobs from https://github.com/TheMuppets. However libTVOut.so is also not present there for the CM11 branch. (although does appear to be present for older branches (e.g. CM10.2).
Can anyone point in the right direction as I'm just about out of ideas?
Not to worry. I don't know the extract files method of getting the vendor blobs did not work, but I worked round the problem by delting the files in the vendor directory and adding a local manifest file.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="https://github.com/TheMuppets/" name="TheMuppets" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" revision="cm-11.0" />
</manifest>
It's all working now!
mtdoughty said:
Not to worry. I don't know the extract files method of getting the vendor blobs did not work, but I worked round the problem by delting the files in the vendor directory and adding a local manifest file.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="https://github.com/TheMuppets/" name="TheMuppets" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" revision="cm-11.0" />
</manifest>
It's all working now!
Click to expand...
Click to collapse
I have the same issue too, so hopefully this info will help me out to finally build CM 11 for the first time.
Could you be more specific on this fix? Is this a new xml file that I create? What's it called and where do I put it?
Thanks in advance
Hi,
Yes it is a new xml file you need to create with above contents. I don't think the file name matters (so long as it ends with ".xml". It needs to go into the local_manifests folder inside your .repo directory.
There is more of an explanation here:
http://wiki.cyanogenmod.org/w/Doc:_Using_manifests
Good luck
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?
Hello guys!
I decided to build the latest version of RR for my device (bullhead) but to no avail. No matter what I try when I type "brunch bullhead" I get this:
Code:
build/core/product_config.mk:238: *** Can not locate config makefile for product "rr_bullhead". Stop.
Device bullhead not found. Attempting to retrieve device repository from ResurrectionRemix-Devices Github (http://github.com/ResurrectionRemix-Devices).
Found repository: device_lge_bullhead
Checking branch info
Calculated revision: oreo
Branches found:
marshmallow
Use the ROOMSERVICE_BRANCHES environment variable to specify a list of fallback branches.
build/core/product_config.mk:238: *** Can not locate config makefile for product "rr_bullhead". Stop.
build/core/product_config.mk:238: *** Can not locate config makefile for product "rr_bullhead". Stop.
** Don't have a product spec for: 'rr_bullhead'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
I get the same output if I do "breakfast bullhead"
At first I manually cloned the device, kernel and vendor files. After some looking around I found that it can be done using the ./repo/local_manifests/local_manifest.xml file, so here is how it looks:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="LineageOS/android_device_lge_bullhead" path="device/lge/bullhead" remote="github" />
<project name="LineageOS/android_kernel_lge_msm8992" path="kernel/lge/bullhead" remote="github" />
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="lineage-15.1" />
</manifest>
And still no luck, what am I doing wrong ?
I'm using the old way of building RR because I found no "build.sh" file when using the new way.
Apparently, it cannot find any makefiles, thus it's trying to fetch them from a repo. You can actually just use the plain old "lunch" command instead and see if it works that way. Also, make sure you ran the "extract-files.sh" script in your device tree, as well as the one called "setup-makefiles.sh".
I know this is old but just in case someone else finds this problem.
This is because the LineageOS respository for the device tree you provided only supports marshmallow builds. When you try to build an oreo ROM, it tries to find an oreo branch in the device tree but cant. If you want to try using the marshmallow branch to build an oreo ROM anyways, then run
Code:
export ROOMSERVICE_BRANCHES=marshmallow
That way, it will download the marshmallow branch when it cannot find an oreo branch in the device tree. It probably wont work since device trees have to be tweaked and changed for each android version. Maybe try searching up "device tree for <your device's codename>"
I'm trying to port Halium 7.1 to Asus Zenfone 2 Laser (ZE500KL/Z00ED) to port Ubuntu Touch. But, I'm stuck on the
Code:
breakfast [codename]
command.
This device is android_device_asus_msm8916-common on GitHub. But, when I try to execute
Code:
breakfast msm8916-common
it returns this error:
Code:
** Invalid variant: 'common'
** Must be one of user userdebug eng
build/core/product_config.mk:249: *** Can not locate config makefile for product "msm8916". Stop.
Device msm8916 not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
Repository for msm8916 not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:249: *** Can not locate config makefile for product "msm8916". Stop.
build/core/product_config.mk:249: *** Can not locate config makefile for product "msm8916". Stop.
** Don't have a product spec for: 'msm8916'
** Do you have the right repo manifest?
Is there a way to bypass this "feature" of breakfast? I tried to execute the command with 'msm8916-common' and "msm8916-common" but it returns the same error. I think that the hyphen/dash is a reserved character, but I can't change it in LineageOS repositories.
0
Seppppx said:
The device tree name is not the device codename. The codename used to start a build us in the vendorsetup.sh file. For example in the https://github.com/2003Frost/android_device_asus_Z01M/blob/android-7.1/vendorsetup.sh
there are these lunch combos
add_lunch_combo lineage_Z01M-userdebug
add_lunch_combo lineage_Z01M-user
add_lunch_combo lineage_Z01M-eng.
So that means you can do "lunch lineage_Z01M-user" or the other combos.
Also breakfast is useless. A more info about Android "meals" is there https://www.trcompu.com/MySmartPhone/AndroidKitchen/Breakfast-Brunch-Lunch.html use lunch for building unofficial ROMs.
Click to expand...
Click to collapse
Thank you... I'm following this documentation of Halium. I want to port Ubuntu Touch to this device after that.
Seppppx said:
The device tree name is not the device codename. The codename used to start a build us in the vendorsetup.sh file. For example in the https://github.com/2003Frost/android_device_asus_Z01M/blob/android-7.1/vendorsetup.sh
there are these lunch combos
add_lunch_combo lineage_Z01M-userdebug
add_lunch_combo lineage_Z01M-user
add_lunch_combo lineage_Z01M-eng.
So that means you can do "lunch lineage_Z01M-user" or the other combos.
Also breakfast is useless. A more info about Android "meals" is there https://www.trcompu.com/MySmartPhone/AndroidKitchen/Breakfast-Brunch-Lunch.html use lunch for building unofficial ROMs.
Click to expand...
Click to collapse
Also, I only found msm8916-common, not Z00ED. I know this device has published source code because there are lots of unofficial ROMs for it. If you know what "msm8916-common" means, could you explain it? I know it's the device's chipset but what do they mean by "common"?
0
Seppppx said:
msm8916-common is the common tree for the msm8916. The msm is the SoC (system on chip) that it has the hardware to support every component and is a lot of components.
The SoC is the
CPU
GPU
Modem
Cellular (4G, 3G, 2G)
Wifi
Bluetooth
GPS
Camera
Etc.
This stuff that the SoC features needs its own configuration. So to separate the SoC config with the device configs they made the "common tree". The common tree won't work if you build with it. It's intended that there is the device-specific tree that calls the common SoC tree.
The " developers" that make custom ROMs for your phone are losers, which keep the device sources for themselves so they are the only people that make ROMs. And that's disgusting.
After pretty long searching I found a device tree for your phone. It uses the common tree, so have that too.
https://github.com/audahadi/android_device_asus_Z00ED
If you need any help with this, you can ask anything.
Click to expand...
Click to collapse
Ok, thank you. I'll try to start from the beginning. Could you look at the Halium documentation and tell me what am I doing wrong? I'm completely new to ROM porting. This is my device manifest that I made using the instructions: https://github.com/adazem009/halium-devices/blob/halium-7.1/manifests/asus_Z00ED.xml
The vendor blobs that I found are here: https://github.com/TheMuppets/proprietary_vendor_asus/tree/lineage-17.1/msm8916-common
Is it OK to use them? Also, how can I use the audahadi's device tree in breakfast? It says something that I need to add it to local_manifests/roomservice.xml. Does it mean ~/halium/.repo/local_manifests/roomservice.xml? How do I setup this file?
Seppppx said:
msm8916-common is the common tree for the msm8916. The msm is the SoC (system on chip) that it has the hardware to support every component and is a lot of components.
The SoC is the
CPU
GPU
Modem
Cellular (4G, 3G, 2G)
Wifi
Bluetooth
GPS
Camera
Etc.
This stuff that the SoC features needs its own configuration. So to separate the SoC config with the device configs they made the "common tree". The common tree won't work if you build with it. It's intended that there is the device-specific tree that calls the common SoC tree.
The " developers" that make custom ROMs for your phone are losers, which keep the device sources for themselves so they are the only people that make ROMs. And that's disgusting.
After pretty long searching I found a device tree for your phone. It uses the common tree, so have that too.
https://github.com/audahadi/android_device_asus_Z00ED
If you need any help with this, you can ask anything.
Click to expand...
Click to collapse
Also, I found another device tree for LineageOS 16: https://github.com/Asus-MSM8916/android_device_asus_Z00ED
How do these device trees differ? According to Halium documentation, Halium is based on LineageOS 14.1. Does that mean I must use LineageOS 14.1 device tree for it? I was also thinking that I could build LineageOS 17 for this device. But what if we don't have LineageOS 17 device tree? Is it possible to build it?
0
Seppppx said:
The documentation looks good.
The sources are required to be android 5.1 (cm12.1) or android 7.1 (cm14.) so you want the latest, which is android 7.1 (cm14.1) you can't use android 10 sources because they are too different. You can extract the vendor blobs from your phone with the device tree script. (extract-files.sh)
The manifest you have has the Z00ED device tree missing. And the common tree missing. And doesn't have a remote. The documentation explained this. And also doesn't have the repo location. Keep in mind that a manifest just downloads stuff (most of the times). You don't need it.
This is the right manifest.
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github"
fetch="http://github.com" />
<project path="audahadi/android_device_asus_Z00ED" name=device_asus" remote="github" target_path": "device/asus/Z00ED" />
<project path="LineageOS /
android_device_asus_msm8916-common" name=msm8916_asus-common" remote="github" target_path": "device/asus/msm8916-common" />
<project path="kernel-hut/android_kernel_asus_msm8916" name=msm8916_asus-kernel" remote="github" target_path": "kernel/asus/msm8916-common" />
</manifest>
You don't use breakfast while building unofficial ROMs. Just simply ignore the step. You don't need to put anything to the roomservice. It's the same as the local manifest.
Look at AlaskaLinuxUser on YouTube he has great guides on building, device trees, kernels, etc. This is not self promotion. This is not my channel.
---------- Post added at 12:47 PM ---------- Previous post was at 12:44 PM ----------
They really differ, mostly because of project treble. You need to use cm14.1 device tree for halium.
You can also make the Los17 device tree yourself. It's not that hard and I can help you.
Click to expand...
Click to collapse
Ok, thanks for your help. I'll try to use your manifest and tell you if it works. I watched a Halium live porting video and followed them to create the manifest. What does the "path" attribute mean and how is it used?
Seppppx said:
The documentation looks good.
The sources are required to be android 5.1 (cm12.1) or android 7.1 (cm14.) so you want the latest, which is android 7.1 (cm14.1) you can't use android 10 sources because they are too different. You can extract the vendor blobs from your phone with the device tree script. (extract-files.sh)
The manifest you have has the Z00ED device tree missing. And the common tree missing. And doesn't have a remote. The documentation explained this. And also doesn't have the repo location. Keep in mind that a manifest just downloads stuff (most of the times). You don't need it.
This is the right manifest.
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="github"
fetch="http://github.com" />
<project path="audahadi/android_device_asus_Z00ED" name=device_asus" remote="github" target_path": "device/asus/Z00ED" />
<project path="LineageOS /
android_device_asus_msm8916-common" name=msm8916_asus-common" remote="github" target_path": "device/asus/msm8916-common" />
<project path="kernel-hut/android_kernel_asus_msm8916" name=msm8916_asus-kernel" remote="github" target_path": "kernel/asus/msm8916-common" />
</manifest>
You don't use breakfast while building unofficial ROMs. Just simply ignore the step. You don't need to put anything to the roomservice. It's the same as the local manifest.
Look at AlaskaLinuxUser on YouTube he has great guides on building, device trees, kernels, etc. This is not self promotion. This is not my channel.
---------- Post added at 12:47 PM ---------- Previous post was at 12:44 PM ----------
They really differ, mostly because of project treble. You need to use cm14.1 device tree for halium.
You can also make the Los17 device tree yourself. It's not that hard and I can help you.
Click to expand...
Click to collapse
Also, I think you need to include vendor blobs in the manifest. But I'm having trouble adding it there. Look at this repository. I want to use the Z00xD directory but I think the build system will think my device is Z00ED and it'll try to find it. What's the correct syntax for this? Do I need to fork this repo and rename this directory?
0
Seppppx said:
"Path" indicates the destination folder. Or simply where the downloaded stuff should be put to.
For all repo manifest commands you can look at https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md
---------- Post added at 02:25 PM ---------- Previous post was at 02:18 PM ----------
OK I'll edit the manifest post and add the vendor blobs there.
You don't need to rename the blobs. If you look at the device tree it wants these blobs. It calls the vendor files with the name of Z00xD which is the exact same repo as you linked.
Click to expand...
Click to collapse
Oh ok. I'll try to create a manifest on my own, and if it doesn't work, I'll try the one that you created. There are some manifests for other devices in the Halium source, so I'm creating using them.
0
Seppppx said:
I've edited the manifest added vendor blobs and fixed some errors. If you download with the manifest and run the build you should have a successful build.
Click to expand...
Click to collapse
Ok. I've created my manifest and the output of bulding seems fine... here it is:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="adh"
fetch="https://github.com/audahadi"
revision="N" />
<remote name="krh"
fetch="https://github.com/kernel-hut"
revision="N" />
<project path="device/asus/Z00ED" name="android_device_asus_Z00ED" remote="adh" />
<project path="kernel/asus/msm8916" name="android_kernel_asus_msm8916" remote="krh" />
<project path="vendor/asus" name="android_vendor_asus" remote="adh" />
</manifest>
I made it using Fairphone 2's manifest:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/fairphone/FP2" name="Halium/android_device_fairphone_fp2" remote="hal" />
<project path="kernel/fairphone/msm8974" name="Halium/android_kernel_fairphone_msm8974" remote="hal" />
<project path="vendor/fairphone" name="proprietary_vendor_fairphone" remote="them" />
</manifest>
0
Seppppx said:
The manifest works. I wouldn't like it because it has multiple remotes when only one is needed like in my manifest.
This doesn't make it bad, but it could be better at least in my opinion.
Also you are forgetting the common tree.
Click to expand...
Click to collapse
Oh yeah, that's right. I'm getting this error:
Code:
./setup-makefiles.sh: line 25: ./../../asus/msm8916-common/setup-makefiles.sh: No such file or directory
I'll try your manifest now.
Seppppx said:
The manifest works. I wouldn't like it because it has multiple remotes when only one is needed like in my manifest.
This doesn't make it bad, but it could be better at least in my opinion.
Also you are forgetting the common tree.
Click to expand...
Click to collapse
You have some formatting errors near the "name" attributes. Now, I get this error:
Code:
fatal: error parsing manifest ~/halium/virt-parts/mounts/halium/.repo/local_manifests/device.xml: duplicate attribute: line 5, column 100
Why did you add path 2 times?
Seppppx said:
The manifest works. I wouldn't like it because it has multiple remotes when only one is needed like in my manifest.
This doesn't make it bad, but it could be better at least in my opinion.
Also you are forgetting the common tree.
Click to expand...
Click to collapse
I've modified your manifest. Is everything OK here?
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="audahadi"
fetch="https://github.com/audahadi"
revision="N" />
<remote name="kernelhut"
fetch="https://github.com/kernel-hut"
revision="N" />
<project path="device/asus/Z00ED" name="android_device_asus_Z00ED" remote="audahadi" />
<project path="device/asus/msm8916-common" name="android_device_asus_msm8916-common" remote="los" revision="cm-14.1" />
<project path="kernel/asus/msm8916-common" name="android_kernel_asus_msm8916" remote="kernelhut" />
<project path="vendor/asus/Z00xD" name="android_vendor_asus" remote="audahadi" />
</manifest>
It's now setting up the device and I didn't get any error so far.
0
Seppppx said:
I think I know the error. Try this file
Click to expand...
Click to collapse
The link to that file is invalid (404 Not Found). I tried to use my manifest and I "think" the build was successful. I'm now stuck here. It's failing when I execute
Code:
mka hybris-boot
I get this error:
Code:
ninja: Entering directory `.'
ninja: error: '~/halium/out/target/product/Z00ED/kernel', needed by '/media/Disk2/virt-parts/mounts/halium/out/target/product/Z00ED/obj/ROOT/hybris-boot_intermediates/hybris-boot.img', missing and no known rule to make it
make: *** [build/core/ninja.mk:152: ninja_wrapper] Error 1
make: Leaving directory '~/halium'