Prasad Manoj Parulkar
@parulkarprasad
Followers
Following
Articles
Published Articles
Article 5 proved the tree builds and boots. Now we trace what actually made that happen: envsetup shell glue, lunch target discovery, inherited product makefiles, Soong namespaces, and the output metadata files that explain where the build really went.
The source tree is finally local, so this is where we ask it to prove itself. We source the build environment, use the correct modern lunch target, run the first real LineageOS build with mka, inspect the generated emulator images, and boot them for the first time.
This is the point where ArjunaOS stops being a prepared machine and becomes a real source tree. We fork the upstream LineageOS manifest repository, initialize the workspace from our own fork, let the first repo sync run, and verify that the checkout now contains the platform layers we talked about earlier.
In this part we stop talking about the Android source tree from a distance and get the machine ready for real work. We check what kind of Ubuntu host we have, install the packages that matter, set up Git and Git LFS, and install the repo launcher without jumping into a full sync yet.
Before we download a huge source tree and start building ArjunaOS, we need a proper mental map of how LineageOS is organized. In this article we walk through repo, manifests, the source tree, device support layout, and the high-level path from lunch to a flashable build.
First article in the Building ArjunaOS series. We talk about what custom ROMs really are, why we chose LineageOS as our base instead of raw AOSP, and what you will need to follow along.