FORUMS

[GUIDE] How to build an unsupported rom using sources from other roms

1,290 posts
Thanks Meter: 1,236
 
By ThePiGuy, Senior Member on 20th September 2018, 06:10 PM
Post Reply Email Thread
23rd January 2020, 10:37 PM |#41  
Member
Thanks Meter: 13
 
More
Hello, I know it's been 1.5 years since you published this guide, but I'm currently starting to learn how to do it ... Can I ask you a couple of questions?
24th January 2020, 02:28 AM |#42  
OP Senior Member
Thanks Meter: 1,236
 
More
Quote:
Originally Posted by 4ngl09669

Hello, I know it's been 1.5 years since you published this guide, but I'm currently starting to learn how to do it ... Can I ask you a couple of questions?

Of course feel free.

Btw, I'd recommend not quoting the whole OP as it fills up the thread a little bit
The Following User Says Thank You to ThePiGuy For This Useful Post: [ View ] Gift ThePiGuy Ad-Free
24th January 2020, 09:39 AM |#43  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by ThePiGuy

Of course feel free.

Btw, I'd recommend not quoting the whole OP as it fills up the thread a little bit

Sorry, now I correct immediately.

So the problem is this: I state that I have already made a build for LG G4 H815 with LineageOS, and it works.
Now I would like to do a PixelExperience.
I have already downloaded the source code of this rom, but I'm stuck where I have to download the source code of the device, only that I should download it from: https://github.com/Suicide-Squirrel (because otherwise I can't cook the latest versions of Android) but this I think you already know because you have / have had a G4.
So how should I act?

THX for all!

P. S. I'm working on Ubuntu 18 lst
pps. If you want, I can also send you an MP, no problem
24th January 2020, 11:12 AM |#44  
OP Senior Member
Thanks Meter: 1,236
 
More
Quote:
Originally Posted by 4ngl09669

Sorry, now I correct immediately.

So the problem is this: I state that I have already made a build for LG G4 H815 with LineageOS, and it works.
Now I would like to do a PixelExperience.
I have already downloaded the source code of this rom, but I'm stuck where I have to download the source code of the device, only that I should download it from: https://github.com/Suicide-Squirrel (because otherwise I can't cook the latest versions of Android) but this I think you already know because you have / have had a G4.
So how should I act?

THX for all!

P. S. I'm working on Ubuntu 18 lst
pps. If you want, I can also send you an MP, no problem

Yes I am particularly familiar with the LG G4

I'm going to call the base directory of your android source code [android]

android_device_lge_g4 should go to [android]/device/lge/g4

(hopefully you can see some correlation between those as a lot of repos used in android are named like this)

android_device_lge_g4-common goes to [android]/device/lge/g4-common

Titan-Kernel-LG-G4 goes to [android]/kernel/lge/msm8992

Have a look at the manifest here as there are a few more that need to be included - I think the two that aren't are at the bottom

https://github.com/Suicide-Squirrel/...oomservice.xml
24th January 2020, 04:00 PM |#45  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by ThePiGuy

Yes I am particularly familiar with the LG G4

I'm going to call the base directory of your android source code [android]

android_device_lge_g4 should go to [android]/device/lge/g4

(hopefully you can see some correlation between those as a lot of repos used in android are named like this)

android_device_lge_g4-common goes to [android]/device/lge/g4-common

Titan-Kernel-LG-G4 goes to [android]/kernel/lge/msm8992

Have a look at the manifest here as there are a few more that need to be included - I think the two that aren't are at the bottom

https://github.com/Suicide-Squirrel/...oomservice.xml

In fact I was very happy when I saw that you had created this guide, if I'm not mistaken you worked on the G4!

A premise, I'm Italian, so I'm not writing in my first language. hope be understanding

So in summary, if I have X_Y_Z, will I have to put it (in most cases) in the X / Y / Z folder? (I had suspicions seeing the files and the manifest)

So in code for Ubuntu I should:
Code:
 cd ~ / X / Y / Z
repo init -u https://github.com/X/Y/Z
repo sync
So if I would like to download from github android_device_lge_g4 I would have to do it this way (in my case I called the Android root folder, and the folder where I downloaded all the PE lineage code) [actually I didn't want to change, after downloading la lineage hahaah]:

Code:
 cd ~ / android / lineage / device / lge / g4-common
repo init -u https://github.com/Suicide-Squirrel/...-17.0_kessaras
repo sync
This should allow me to download the files directly to the appropriate folder. I should repeat this for everyone:
1) android_device_lge_g4
2) android_device_lge_g4-common
3) Titan-Kernel-LG-G4

But, I should also download and put in the appropriate folders:
1) LOS STUFF
2) power HAL patch
3) MISC (without the last 2, as the EP has the GApps included, and these are used to enter the alternative F-droid store, and a Backup function)
4) REMOVALS (must be at TOP) (? I have no idea what it is and what it is for)
24th January 2020, 08:37 PM |#46  
OP Senior Member
Thanks Meter: 1,236
 
More
Quote:
Originally Posted by 4ngl09669

In fact I was very happy when I saw that you had created this guide, if I'm not mistaken you worked on the G4!

A premise, I'm Italian, so I'm not writing in my first language. hope be understanding

So in summary, if I have X_Y_Z, will I have to put it (in most cases) in the X / Y / Z folder? (I had suspicions seeing the files and the manifest)

So in code for Ubuntu I should:

Code:
 cd ~ / X / Y / Z
repo init -u https://github.com/X/Y/Z
repo sync
So if I would like to download from github android_device_lge_g4 I would have to do it this way (in my case I called the Android root folder, and the folder where I downloaded all the PE lineage code) [actually I didn't want to change, after downloading la lineage hahaah]:

Code:
 cd ~ / android / lineage / device / lge / g4-common
repo init -u https://github.com/Suicide-Squirrel/...-17.0_kessaras
repo sync
This should allow me to download the files directly to the appropriate folder. I should repeat this for everyone:
1) android_device_lge_g4
2) android_device_lge_g4-common
3) Titan-Kernel-LG-G4

But, I should also download and put in the appropriate folders:
1) LOS STUFF
2) power HAL patch
3) MISC (without the last 2, as the EP has the GApps included, and these are used to enter the alternative F-droid store, and a Backup function)
4) REMOVALS (must be at TOP) (? I have no idea what it is and what it is for)

Yes I got the initial lineage 15.1 ROM working for the G4 (using kessaras's sources, and with help from both steadfasterX and kessaras)

So it looks like you are getting a little bit confused with regards to the repo tool.

Code:
repo init -u
is used to set the main android source code directory. This should be used once, and only once.
For example, for PixelExperience:
Code:
repo init -u https://github.com/PixelExperience/manifest -b 10
where -b ten is the branch of PE that you want to build.

Once inside, I'd recommend going to the local manifest as described in the main part of the guide, and using the manifest from suicide squirrel (as in this case I know that it works). I'd then alter any ROM specific ones (those that use remote="lineage") to (if possible) use PE equivalent ones from their github.

It looks like you are trying to build A10 so you want this as your basis: https://github.com/Suicide-Squirrel/...oomservice.xml

Beware though - A10 hasn't been released yet for a reason - it's still got some major bugs
The Following User Says Thank You to ThePiGuy For This Useful Post: [ View ] Gift ThePiGuy Ad-Free
25th January 2020, 12:23 PM |#47  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by ThePiGuy

In fact I was very happy when I saw that you had created this guide, if I'm not mistaken you worked on the G4!

A premise, I'm Italian, so I'm not writing in my first language. hope be understanding

So in summary, if I have X_Y_Z, will I have to put it (in most cases) in the X / Y / Z folder? (I had suspicions seeing the files and the manifest)

So in code for Ubuntu I should:


So if I would like to download from github android_device_lge_g4 I would have to do it this way (in my case I called the Android root folder, and the folder where I downloaded all the PE lineage code) [actually I didn't want to change, after downloading la lineage hahaah]:



Yes I got the initial lineage 15.1 ROM working for the G4 (using kessaras's sources, and with help from both steadfasterX and kessaras)

So it looks like you are getting a little bit confused with regards to the repo tool.

is used to set the main android source code directory. This should be used once, and only once.
For example, for PixelExperience: where -b ten is the branch of PE that you want to build.

Once inside, I'd recommend going to the local manifest as described in the main part of the guide, and using the manifest from suicide squirrel (as in this case I know that it works). I'd then alter any ROM specific ones (those that use remote="lineage") to (if possible) use PE equivalent ones from their github.

It looks like you are trying to build A10 so you want this as your basis: https://github.com/Suicide-Squirrel/...oomservice.xml

Beware though - A10 hasn't been released yet for a reason - it's still got some major bugs

Hi, sorry but I don't understand. So, are you telling me to open the local PE manifest, and replace all the lines (which I can replace) with those taken from the Suicide-Squirrel manifest? (All this after downloading the source code of PE)
26th January 2020, 06:09 PM |#48  
OP Senior Member
Thanks Meter: 1,236
 
More
Quote:
Originally Posted by 4ngl09669

Hi, sorry but I don't understand. So, are you telling me to open the local PE manifest, and replace all the lines (which I can replace) with those taken from the Suicide-Squirrel manifest? (All this after downloading the source code of PE)

Ok so make sure you fully read the OP of this thread, as it answers a reasonable amount of your above question.

When you repo sync, it downloads the full source code for the ROM (but nothing device specific).

You can then create a file in .repo/manifests (I think, it's in the OP) called local_manifest. That's where the suicide squirrel manifest goes. From there, modify the suicide squirrel manifest to use PE where possible
The Following User Says Thank You to ThePiGuy For This Useful Post: [ View ] Gift ThePiGuy Ad-Free
27th January 2020, 06:12 PM |#49  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by ThePiGuy

Ok so make sure you fully read the OP of this thread, as it answers a reasonable amount of your above question.

When you repo sync, it downloads the full source code for the ROM (but nothing device specific).

You can then create a file in .repo/manifests (I think, it's in the OP) called local_manifest. That's where the suicide squirrel manifest goes. From there, modify the suicide squirrel manifest to use PE where possible

EDIT: Not worked, the problem its the same : --> fatal: remote lineage already exists with different attribute

From an analysis, it seems that the error was due to the lineage name, I changed this name to local_manifest, and currently it has synchronized. Except occasionally from this other error:
[email protected]: permission denid (publickey)
fatal: could not read from remote respository

And

Error: cannot fetch Titan-kernel-LG-G4 from ssh://[email protected]/Suicide-Squirrel/Titan-kernel-LG-G4

EDIT : It looks like I solved it by renaming the "suicide" link from ssh to https
28th January 2020, 06:36 PM |#50  
OP Senior Member
Thanks Meter: 1,236
 
More
Quote:
Originally Posted by 4ngl09669

EDIT: Not worked, the problem its the same : --> fatal: remote lineage already exists with different attribute

From an analysis, it seems that the error was due to the lineage name, I changed this name to local_manifest, and currently it has synchronized. Except occasionally from this other error:
[email protected]: permission denid (publickey)
fatal: could not read from remote respository

And

Error: cannot fetch Titan-kernel-LG-G4 from ssh://[email protected]/Suicide-Squirrel/Titan-kernel-LG-G4

EDIT : It looks like I solved it by renaming the "suicide" link from ssh to https

Ah yeah that would do it. So now you should have the sources synced and can follow the guide to try and get PE working
The Following User Says Thank You to ThePiGuy For This Useful Post: [ View ] Gift ThePiGuy Ad-Free
29th January 2020, 06:42 PM |#51  
Member
Thanks Meter: 13
 
More
Quote:
Originally Posted by ThePiGuy

Ah yeah that would do it. So now you should have the sources synced and can follow the guide to try and get PE working

I'm back to bother you again
the second part of the guide, I didn't understand it well, just rename the files from Lineage to PixelExperience?
Because I tried to issue the source
Code:
 build / envsetup.sh
command and then just
Code:
 Brunch
(to see if it came out in the command list).
In the end I gave the command to build, but it only gave me mistakes. So in other words, do I just have to rename the files of the device trees in the h815 folder (I have this device model, and for this I am interested in building initially)? (first step)
while, for second action, what should I do in <rom> .dependancies? What should I add to the local manifest?
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes