Build instructions - LeEco Le Pro3 Elite (Model x722) Guides, Developme

We need build instructions in order for people to more easily make custom roms. Currently most roms here only provide a repo or two, hardly describing the build process if anything. Not sure if those repos contain all the sources/blobs you need either.
It's not that hard to build and you can always go on th cheap and hire a cloud vps for a few hours, so don't bother with local building unless you have the powerful hardware.
Anyhow, so far what I know is that some people just replace the kernel and firmware, it seems this is called repacking.
Others are building Lineage from source as per their instructions, which are not descriptive when you're porting to a new device.
We need concrete and concise information about how it's done.

Lineage wiki is pretty accurate and if someone ask here I can try to solve his doubt.
I am not the best developer but I know the basics xD

Can you describe the basic workflow?
Which repos to check out, what build scripts are there, how to combine them. Basically a short tutorial on stuff. Also how come you're using 821 kernel from zl1, i know 820 and 821 are alike, but when do you patch the kernel to work for 820, i read that you need some config changes and a different gpu blob.
I am a developer myself, but not an android rom one. Things look really fragmented and chaotic. Besides Lineage wiki, I haven't found anything that resembles docs. I really want to contribute on this and have the hardware to build, just need some info on where to begin.
Thanks for taking your time to reply.

randxor said:
Can you describe the basic workflow?
Which repos to check out, what build scripts are there, how to combine them. Basically a short tutorial on stuff. Also how come you're using 821 kernel from zl1, i know 820 and 821 are alike, but when do you patch the kernel to work for 820, i read that you need some config changes and a different gpu blob.
I am a developer myself, but not an android rom one. Things look really fragmented and chaotic. Besides Lineage wiki, I haven't found anything that resembles docs. I really want to contribute on this and have the hardware to build, just need some info on where to begin.
Thanks for taking your time to reply.
Click to expand...
Click to collapse
Thats thanks to codeworkx code. Basically you compile a rom for zl1 and works for zl0.
My workflow is
repo init/sync the rom
Fix libhidl and libbfquio if needed (Dont know why they fix an error creating a bigger one tho)
Take the device tree, vendor and kernel
Adapt the device tree for the rom (Like in cosmic where config is in root not in config folder, boardconfig...)
And just brunch or make or lunch depends on rom xD
Edit: Forgot u need like 200 frameworks/av commits to make zoom work https://github.com/mosimchah/frameworks_av/commits/o8.1 all the january 15th and this one http://gerrit.aicp-rom.com/#/c/54436/

You init the Lineage repos?
What are those libhidl and libfquio about, and how do you fix them?
Vendor is the firmware blobs?
Kernel is obvious
What is a device tree? And how it relates to the kernel?
How did you adapt it to the device?
Different devices have different partion layouts I assume. How do you make the zl1 rom work for both zl0 and zl1? Earlier people were reporting bricks because of flashing roms for zl1 on zl0

randxor said:
You init the Lineage repos?
What are those libhidl and libfquio about, and how do you fix them?
Vendor is the firmware blobs?
Kernel is obvious
What is a device tree? And how it relates to the kernel?
How did you adapt it to the device?
Different devices have different partion layouts I assume. How do you make the zl1 rom work for both zl0 and zl1? Earlier people were reporting bricks because of flashing roms for zl1 on zl0
Click to expand...
Click to collapse
Yout init the rom source you want to compile
You dont need to adapt anything codeworkx already did it for us we just compile zl1 roms with his device tree (Los one) or any of the forked ones (Like Aicp which I recommend).
Libhidl and libbfquio depends on the rom you are building. Libhidl is solved by reverting this changes https://github.com/PixelExperience/system_libhidl/commit/607e961b85eea8969503d8ff8437c014f04f0ca2 and libbfquio by taking this http://gerrit.aicp-rom.com/#/c/56488/
You dont adapt device tree to device you adapt it to the rom you are compiling see how other devs do it in their github (Every rom is different for example in cosmic you rename lineage/aicp.mk to cos.mk and change where to import things)
---------- Post added at 01:53 PM ---------- Previous post was at 01:49 PM ----------
Start by picking up a rom you want to compile that has 8.1 source working and better if a msm8996 device is there (zuk z2, oneplus 3...)

Thanks for the info. Will experiment a bit when I have free time. Planning on making an in-depth guide if I succeed and clarify the concepts.
Btw I see that everyone is using kernel 3.18.20, why can't we get a newer kernel? If we have the sources for it and the blobs? Is the reason being that the drivers are not in the mainline kernel so they need to be ported to a newer kernel?

randxor said:
Thanks for the info. Will experiment a bit when I have free time. Planning on making an in-depth guide if I succeed and clarify the concepts.
Btw I see that everyone is using kernel 3.18.20, why can't we get a newer kernel? If we have the sources for it and the blobs? Is the reason being that the drivers are not in the mainline kernel so they need to be ported to a newer kernel?
Click to expand...
Click to collapse
Np
Not sure dont know much about android kernels

Related

[Q] How to add new device tree,new kernel source code to CM source & compile?

Hello everybody.
I have a noob question about compile cyanogenmod for my new device.
Now, i have: CMW recovery, Kernel source code on local computer, full repo cm source + toolchains.
How to add my device tree, kernel source code to CM source and compile CM7 ROm?
Thanks you, cheer
Anyone here?
Did you figure it out yet? I asked the same question and am waiting for an answer, tho I'm on CM 10, HTC Vivid. If I figure it out I'll post back and try and help.
nguyenhonganh said:
Hello everybody.
I have a noob question about compile cyanogenmod for my new device.
Now, i have: CMW recovery, Kernel source code on local computer, full repo cm source + toolchains.
How to add my device tree, kernel source code to CM source and compile CM7 ROm?
Thanks you, cheer
Click to expand...
Click to collapse
I met the same problem, does anyone can help?
Do you have a device tree? Or do you have an unsupported device? If you have an existing device tree from some other ROM, etc, then you just need to edit your .repo/local_manifest/roomservice.xml to pull in the trees that you need.
If you need to create a device tree, then it gets not complicated, as each device is different. The basic process is to create the necessary directories (device/manufacturer/model, kernel/manufacturer/model (may need to be kernel/manufacturer/device_family/model, for reference to that, see CM's repo for the LG G3) and finally vendor/manufacturer/device.
After you have the directories setup, you will need to actually start building the tree. The easiest way is to copy another devices files into your devices tree, and then edit the files. The closer the device you copy in is, the less work you will need to do to the files. Refer to sites like gsmarena.com, PhoneArena.com, etc for phone specs.
That's about as far as I can take you without dealing with a specific device. If you need more info, post back here with your questions, and post your device specs, or at least the model number,and I'll see if I can help.
rassawyer said:
Do you have a device tree? Or do you have an unsupported device? If you have an existing device tree from some other ROM, etc, then you just need to edit your .repo/local_manifest/roomservice.xml to pull in the trees that you need.
If you need to create a device tree, then it gets not complicated, as each device is different. The basic process is to create the necessary directories (device/manufacturer/model, kernel/manufacturer/model (may need to be kernel/manufacturer/device_family/model, for reference to that, see CM's repo for the LG G3) and finally vendor/manufacturer/device.
After you have the directories setup, you will need to actually start building the tree. The easiest way is to copy another devices files into your devices tree, and then edit the files. The closer the device you copy in is, the less work you will need to do to the files. Refer to sites like gsmarena.com, PhoneArena.com, etc for phone specs.
That's about as far as I can take you without dealing with a specific device. If you need more info, post back here with your questions, and post your device specs, or at least the model number,and I'll see if I can help.
Click to expand...
Click to collapse
I have a mt6750 devices... And there is a device from my company manufacturer.. Its a mt6750 device, it have cm device tree.. Both device working on same rom.. I can port that device rom but it always give me bugs.. So my question is how to use it?

[Q] Build a Custom ROM using only kernel source?

The HTC Desire 310 runs on a MediaTek SoC, and HTC only has the source code for the kernel. Is it possible to build a Custom ROM like CM for the device? And what are the drawbacks of doing this?
Lynuxen said:
The HTC Desire 310 runs on a MediaTek SoC, and HTC only has the source code for the kernel. Is it possible to build a Custom ROM like CM for the device? And what are the drawbacks of doing this?
Click to expand...
Click to collapse
Basically all a ROM development takes is a kernel source ,a device tree(how the source has to build your ROM {resolution,kernel source command lines....etc are set here}) , a vendor tree( usually proprietary shared libraries got from stock ROM ). Once you've got all these all you have to so is type make bacon. But since its mediatek its pretty hard to build anything since mediatek ril/libraries are not open source.
So doing this blindfolded won't work.
Lynuxen said:
So doing this blindfolded won't work.
Click to expand...
Click to collapse
Won't work, unless you set up a device tree for your SoC. MT6589 device tree may work for building only recovery but nothing further.
Yes, as @MasterAwesome said you need actually 3 components: Vendor tree, kernel source and device tree. Making vendor and device tree from scratch is hard.
GeekyDroid said:
Yes, as @MasterAwesome said you need actually 3 components: Vendor tree, kernel source and device tree. Making vendor and device tree from scratch is hard.
Click to expand...
Click to collapse
Hard, but not impossible? I really want to invest my time in something like this. Pretty long shot, will something like a method for reversed engineering the vendor and device tree work?
Lynuxen said:
Hard, but not impossible? I really want to invest my time in something like this. Pretty long shot, will something like a method for reversed engineering the vendor and device tree work?
Click to expand...
Click to collapse
Vendor tree is pretty easy to setup. You'd want to start with the CyanogenMod version which is similar your current android version. If your device has kitkat download cm11 sources. Read their docs about setting up a device tree(its not that hard). Vendor tree is basically just your stock ROM use it as a base to get your libs which are required for your ROM to start(logcats are helpful here). Since you have a similar SoC, you can use my device tree as a reference https://github.com/MasterAwesome/a210_device_tree/tree/master/micromax/a210. Initially just build a kernel and check if it works. And I have guides for kernel and ROM building,you could check it out.
MasterAwesome said:
Vendor tree is pretty easy to setup. You'd want to start with the CyanogenMod version which is similar your current android version. If your device has kitkat download cm11 sources. Read their docs about setting up a device tree(its not that hard). Vendor tree is basically just your stock ROM use it as a base to get your libs which are required for your ROM to start(logcats are helpful here). Since you have a similar SoC, you can use my device tree as a reference https://github.com/MasterAwesome/a210_device_tree/tree/master/micromax/a210. Initially just build a kernel and check if it works. And I have guides for kernel and ROM building,you could check it out.
Click to expand...
Click to collapse
Massive thanks MasterAwesome. :highfive:

[Q] Building an AOSP ROM for device with Cyanogenmod Device Tree

So I am trying to build AOSP 5.0 for Redmi 1s. I downloaded the AOSP source. I also downloaded the device tree and vendor tree from github. Now what changes I have to make to build AOSP????
You need to edit the make files, edit .sh and vendor.
I used this answer to get my AOSP running on my G2 using CM sources. It's not very hard to manage this because CM is not quite different in these aspect, but you need to know some stuff about programming and solve the errors. Good luck.
GalaticStryder said:
You need to edit the make files, edit .sh and vendor.
I used this answer to get my AOSP running on my G2 using CM sources. It's not very hard to manage this because CM is not quite different in these aspect, but you need to know some stuff about programming and solve the errors. Good luck.
Click to expand...
Click to collapse
Can you explain...cause I can't understand that post

Making own rom for Mediatek device

Hello!
I'd like to build my own rom from AOSP 8.0 official branch. I'm looking for some kind of guide but couldn't find any So, let's say I've got android source code and files from other custom rom that makes camera work. What have I to do to make my rom now? How can I build it and be sure that everything will work. Generally my target is to install android 8 on my Leeco le 2 x620 device with Mediatek chip
Any help is appreciated ^v^
LEGOL2 said:
Hello!
I'd like to build my own rom from AOSP 8.0 official branch. I'm looking for some kind of guide but couldn't find any So, let's say I've got android source code and files from other custom rom that makes camera work. What have I to do to make my rom now? How can I build it and be sure that everything will work. Generally my target is to install android 8 on my Leeco le 2 x620 device with Mediatek chip
Any help is appreciated ^v^
Click to expand...
Click to collapse
"I'd like to build my own rom from AOSP"
So you mean an aftermarket os like lineageos or carbonrom or do you mean that you take the aosp repo and compile aosp for your device? You can look in source.android.com
"source code and files from other custom rom that makes camera work"
Is that an already compiled rom? Because you won't get source code out of that
"How can I build it and be sure that everything will work"
Ya don't. Nothing can ever be 100% bugfree, it can either be from your device tree's source code, or the aosp code itself.
Generally, if there is a caf tree for your device, it's going to be 3x as hard to create an aosp tree.
It is going to be 100000x as hard to create an aosp tree that is for a newly released, new hardware requirement operating system.
Wanna know the topping of the cake? Mediatek is notorious when it comes to releasing the source (in fact, it has become a meme in the Mediatek users world) but don't let that stop you son.
You can try, but don't give up just because it won't compile the first couple of hundred times. The errors when compiling should give you a great start
Good luck.
ramiabouzahra said:
"I'd like to build my own rom from AOSP"
So you mean an aftermarket os like lineageos or carbonrom or do you mean that you take the aosp repo and compile aosp for your device? You can look in source.android.com
"source code and files from other custom rom that makes camera work"
Is that an already compiled rom? Because you won't get source code out of that
"How can I build it and be sure that everything will work"
Ya don't. Nothing can ever be 100% bugfree, it can either be from your device tree's source code, or the aosp code itself.
Generally, if there is a caf tree for your device, it's going to be 3x as hard to create an aosp tree.
It is going to be 100000x as hard to create an aosp tree that is for a newly released, new hardware requirement operating system.
Wanna know the topping of the cake? Mediatek is notorious when it comes to releasing the source (in fact, it has become a meme in the Mediatek users world) but don't let that stop you son.
You can try, but don't give up just because it won't compile the first couple of hundred times. The errors when compiling should give you a great start
Good luck.
Click to expand...
Click to collapse
Oh God, how am I meant to do this ;0 There is Lineage 14.1 project on my device. I really want to have android 8 on my phone. Thank you for all the advice.
Yes im trying the same andere without any succes so far.
Im also trying to port from a different device ROM to the stock ROM what im running now.
The chip sets are the same but the Android versions not.
It would be really Nice if some mtk ROM developer find some time in his busy life to create a ROM for our phone.
Or a guide to compile/port Android o tot oud phone.

How can a developer port LineageOS to an unsupported device?

My question is really simple: How can I make an unofficial port of LineageOS? I've read this, which is based on an article from the (now death) CM Wiki, but some files (e.g. the mkvendor.sh script) are in older CM repos/branches. According to what I've read, there's not a full guide explaining the porting process since every device has its own tweaks (I imagine that it's due to ARM's nature)
What I want to do: Port LineageOS (the latest version) to the Samsung Galaxy Ace 4 Neo SM-G136ML (codenamed vivalto3mve3gltn). However there's not a LOS port at the latest version for a similar device which I could fork, so this would be "from scratch" in some way. I've seen Lineage's android repository at github but idk what are those xml files (they are definitively not the source code of a whole OS) EDIT: I realized that I had to clone it with `repo init`
What I've done so far: Documented myself as much as I could, read about how to get the vendor files, firmwares, kernel sources (in fact I requested the kernel source code for the device to the vendor), build.prop, recovery.fstab, and recovery/boot images.
My skills: I have a lot of experience with the GNU/Linux OS and I know some Linux kernel hacking, in fact I'm used to compile kernels for the x86_64, i686 and armv7h arch'es (not the vanilla kernel itself, but the Linux-libre kernel, which is basically vanilla but without binary blobs) and also patch them, and test them, etc. Besides kernel-stuff, I know shell scripting, advanced use of git (git clone, commit, add, push, remote, fetch, diff, apply, and more), use Heimdall, install custom recoveries and ROMs, and some advanced (non-noob ) Android hacking (Idk Java, C nor C++, however)
I know that here at XDA we've very talented developers who have experience with this, and much more. The only thing I need is some guidance to help me in my way to contribute the FLOSS community, I say this because when I asked in the LineageOS IRC channel if there was an official or well documented and updated guide, step-by-step, tutorial to port LOS that I could follow, someone answered me "it's impossible to have something like this", but I believe that there's ppl here who can demonstrate me the opposite
Thanks in advance
(...) I requested the kernel source code for the device to the vendor
Click to expand...
Click to collapse
Here it is https://gitlab.com/Megver83/android_kernel_samsung_vivalto3mve3gltn

Categories

Resources