[Q] Building a custom ROM for Xperia-L from AOSP - Android Q&A, Help & Troubleshooting

Pardon my ignorance. Just for fun and learning, I am willing to build a custom ROM from scratch for Sony Xperia-L from Android AOSP. But, even after going through a number of tutorials, following are the issues which are yet unclear to me:
How to obtain Xperia-L specific drivers to intergrate it into my build. Please note that unlike a few tutorials has suggested, I don't want to start from CM ROMS. I want to do it from 'scratch'
I have downloaded Open source archive for build 15.3.A.1.12, 15.3.A.1.14 and 15.3.A.1.16. It contains two top level directories: kernel and platform. What are these two for? Given the size of AOSP so large, I presume this archive does NOT contain full source for Xperia-L stock ROM. Am I correct to reason that?
Without using kiddie-approach, e.g. different ROM kitchen, what is the recommended approach to for a beginner to master the art?

Related

[Q] Files Required from Stock ROM in order to build AOSP ROM

There are many anecdotal notes here and there about ROM building, porting, etc. No where is there a list that outlines very simply (and device agnostic) what is required to 'pull' from a stock ROM in order to add it to the AOSP source code to build a fully working ROM image. I am looking for some help to define what this list might be.
I am creating this thread in the ViewPad 7 area because I am focused on this device at the moment, but this list does not have to be specific to this device, it just should be applicable to it.
Example:
Drivers
(Get everything in the /system/modules/lib folder and place it in AOSP/drivers/etc folder)
/system/modules/lib/* >> /AOSP/drivers/etc
Kernel:
Do a nandroid backup of boot.img and extract kernel from it via(...) then place that/those files into /AOSP/kernel
... These are all examples and do not represent real folders per-se.
Any help in assembling this list would be no double extremely beneficial to the entire android rom building community.
Thanks!

Found Kernel Sources, Help me narrow down the one for my device!

Hey Guys,
My Android lacks development, the only ROMs availible are just apk mods and build.prop edits. I am planning to build CM or some other AOSP-based ROM for my Phone. I found the source code for Qualcomm phones at CodeAurora: https://www.codeaurora.org/xwiki/bin/QAEP/WebHome
My Android runs 2.3.5 and the ro.product.board is msm7627a.
The problem is, there are 2 Gingerbreads for my msm7627a... "gingerbread" and "gingerbread_chocolate". And if I select one of them, I am presented with tons of other options.
I have built software from source in Ubuntu but something tells me that Android is completely different. Can somebody please point me in the right direction? After I find my device's source code, how will I use it to port CM?
And Mainly, which one is my Android's?
Note: I have attached the build.prop of my Rooted Stock ROM.

[QUESTION] How do you make custom ROM?

Hi,
I wanted to ask this in other subforum, but this is my first post and I don't have permission there. Do you have a guide to recommend for creating custom roms?
I know a lot about Linux, I can compile kernels, patch, I know C a little. I programmed couple of Android apps, in Java and Go, so I guess I have some basic knowledge.
What do you guys do, with what source do you start? Is it a stock android source but you modify kernel and modules or you need first to find exact source for that phone?
For example, I own a Lenovo A560, and would like to try build custom rom for it. What would be the first steps?
Thanks,
Milan

Build ROM from scratch

I would like to develop a custom ROM for my device. I read some guides and obtained some basic knowledge, but still don't know how to start. So I would like to ask some questions to test my knowledge and expand them.
My device: Wiko View
My Android version (actually installed): 7.1.2 almost pure Android (just some third-party apps)
Desired Android version: AOSP 9.0 (maybe?)
So as far as I know I need these things:
AOSP Source Code (9.0)
Kernel
Vendor (tree or blobs?)
Device tree
So for the AOSP: I can get it from the repo hosted by Google. How should it look once downloaded?
For the kernel: should I use that from my actual ROM, or the most recent one? And how to include it in my ROM before compiling?
For the Vendor: As far as I read, with project treble I shouldn't edit this. But since I'm not developing a treble ROM, I'm in troubles, right? In older ROMs (before Oreo and Treble), they're stored in /system/vendor. Is just that folder or are there more? Do I need to update something? Where do I need to put this folder?
For the device tree: I read some guides that explains how to extract it from ROM (only from 5.0 and up, since mine is 7.1 no problems, I hope). Is this right or are there other ways? Or do I need to write it myself?
I'm going to thanks anyone in advance. I know there are plenty of questions, but I hope this thread will be a place for begginer (like me) to know more about compiling from source a ROM. Have a great day!

Working on/building more than one custom ROM

I wanted to learn about some best practices about working on more than one Custom ROM (for the same device), I already have a working LineageOS build environment for my device (kebab).
I want to get to see how building an other ROM differs from the LineageOS building process, if a ROM has any sketchy Google requirements I don't like, and how functional a ROM is when building it with the device trees and kernel sources provided by LineageOS. Don't worry, I don't want to create buggy binaries of 10 different ROMS, post them on XDA and abandon them after two days. I just want to get more experience and try to build other ROM's myself, and to see what modification are required for a ROM port.
Is it possible copying some source code from my working LineageOS building environment so that repo doesn't have to re-download everything?
Is it okay to use the same ccache for both ROM's, so that I don't to re-compile binaries these both ROM's share? (As of my understanding, ccache keeps my build times lower when re-building a ROM, is that right?)
Any other tips about managing multiple building environments are appreciated! Thanks!

Categories

Resources