[I9505][LOKI] Automating the "Lokifying" process for AOSP builds. - Galaxy S 4 Developer Discussion [Developers-Only]

For those of you developing for Verizon or AT&T, I thought I would pass this along....
Last week when djrbliss released Loki I and others quickly "Loki-fied" our builds so that people could flash them. Unfortunately the initial process was a pain in the rear to unzip, "Loki-fy" our boot/recovery image and then pack it all up again.
Rootzwiki (noted) Developer and official AOKP maintainer BMc08GT started working on this last week to automate it for AOSP builds.
I've been following it and at last check he's got it working for his AOKP builds.
He's also planning on introducing it as a Gerrit change for CM and AOKP down the road.
Here's the repo that I was told to watch:
https://github.com/BMc08GT/build
Hopefully he'll be willing to post more info here on his efforts.
Again, thanks to Bliss for Loki and BMc08GT for his efforts - just trying to help get it passed on to folks who can use it!

Thanks garwynn. To complete the automated process during the compile you will also need to modify squisher (on AOKP-- still looking into method for CM.), which requires the about.img as a prebuiltalong with Loki_flash and patch. The build commit garwynn linked requires TARGET_USES_LOKI := true in BoardConfig.
The commit I'm explaining can be seen here: http://gerrit.aokp.co/#/c/8567
The only downfall to this is the loki_patch is architecture dependent. What I am working on now is creating an external repo for Loki to be compiled during ROM compilation, thus supplying the correct architecture version.

Related

[Q] Questions about Development Process

I'm trying to better understand how the devs around here do what they do. I'm an Electrical Engineer and I make no claims to be a proper software developer. I know my way around C, Python, and Bash. I know my way around git and have worked with various build/release processes before so I can stumble through some CMAKE and MAKE build processes. Currently I have installed the the android SDK, compiled AOSP master branch and run it in an emulator. I've also compiled Cyanogen mod repos for generic-eng though I haven't gotten that to properly boot on an emulator yet.
So that's an idea of who I am and where I'm starting from. Now for the questions. I figure if I can understand the build environment and process I can learn quite a bit from the large history of available changes, especially since there is an Atrix Dev Team for Cyanogen.
Cyanogen Mod
I can't tell which repo's here are pure AOSP, modified AOSP, or from scratch pure Cyanogenmod.
Do the CM repo's track AOSP as a remote branch?
If yes, does that mean I can build pure AOSP from CM repo's via repo?
If no, how can you tell where in the AOSP development cycle the CM repo's fork from?
Are 'nightly' builds by definition a repo sync of the non-release base simply built as is? AKA for an Atrix nightly, you would checkout the gingerbread, sync, and build (assuming you're setup for building in the first place)
Are Official release only tracked via git tags? IE for CM 7.1 it's not really tracked on the manifest so would you need to find the proper tag and do a repo forall git checkout -b cm-7.1 or similar? I'm asking how you could build a previous release which should match the official release.
Atrix Dev Team
Similar to the CM Question, do these repo's track CM as their base repo's?
Could someone describe the typical development cycle of how the Atrix port is handled on top of a moving CM development? I'm a little lost as to how AOSP -> CM -> Atrix dev works out. If I checkout the Atrix manifest to gingerbread and perform git diff with the /m/gingerbread (I beleive the CM tracking branch) I see no differences. Are Atrix-Dev-Team and Official CM repo's simply fully in sync at this point?
How would I setup my repo to match a given Release (as in what tag or manifest I understand git)?
How would I setup my repo to match a given Nightly (as in what tag or manifest I understand git)?
As above, could you build pure CM from the Atrix repo's? This very well could be answered with the above questions.
Generic Info
What's a 'kang'?
My guess would be it's a build produced from the source repositories and not an official release by the developers.
Exploring the AOSP I noticed a separate kernel download link. I know CM uses a custom kernel but is that included in the default builds or is that typically flashed and managed separately?
After I'm familial with the whole process, and knowing what I've stated above what's the best step form there to be able to help contribute? Right now I've picked up a book on programming Apps on Android so I can learn the tools and some Java and I've had c++ on my radar for some time.
Thanks for your time. I've tried to get relatively well informed before I post questions.
So ... am I asking these in the wrong place?

[Q] Integrated kernel building CM9

Today when I was building cm9 rom I got message:
Using prebuilt kernel binary instead of source
THIS IS DEPRECATED, AND WILL BE DISCONTINUED
Please configure your device to download the kernel
sorce repository to kernel/samsung/galaxys2
See http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
for more information
The instruction on the webiste is not that clear...
Anyone could give advice how to to that?
I answered this in the CM9 thread, but in case anybody looks here and misses that, they are implementing a new feature to build kernels as part of the CM9 build process, at present the SGS2 git changes that would be required for this are in the CM9 gerrit review and have yet to be approved, this will not affect your build in the slightest and once the files are approved this message will disappear. If you want to cherry pick it before it gets approved, you can but doing so may have unintended consequences (thus the need for review).

[DEV][trlte] Unified LineageOS device tree for Snapdragon Note4

I have the idea for an unified build from quite some time, but only now I'm trying to bring it to life.
Looking at LineageOS github and gerrit you can see that other devices (klte, m8) have the same stupid amount of variants, but they have merged them into one device repo.. So why can't this happen for the Note4?
Following their steps I've created an unified android_device_samsung_trlte (that includes SM-N910F/trltexx, SM-N910G/trltedt, SM-N910T/trltetmo, SM-N910W8/trltecan, SM-N910P/trltespr, SM-N910R4/trlteusc and SM-N910V/trltevzw), this proprietary_vendor_samsung and added this commit to the android_device_samsung_trlte-common that I'm currently using.
For now I'm able to use those repos to build a LineageOS-14.1 build that boots up, but w/o sim and camera being recognized.. For what I've tested (on trltexx) wifi and (strangely) bluetooth are working. Something is probably wrong with specific device blobs not being recognized/used properly.
It needs some work but I think this is a good base to start with.
trltexx/trltedt blobs are from here;
trltetmo/trltecan blobs are from here;
trltespr/trlteusc blobs are from here;
trltevzw is using trltespr blobs for now (there are no guaranteed working blobs repos for it at the moment, the only (WIP) way is to establish which are needed and extract them from hsbadr's builds).
The kernel is the same that I'm using for the not unified builds (android_kernel_samsung_trlte), at the moment testing if the klte's way of using the international variant defconfig works for us too.. other options are to add something like this commit to remove the need of a variant defconfig or merge the different defconfigs into one and use that instead.
Source:
unified_android_device_samsung_trlte
unified_android_device_samsung_trlte-common
unified_proprietary_vendor_samsung
android_kernel_samsung_trlte
I was going to share this anyway, but I'm sharing it now (even if there are still major problems) because I have a very limited free time where I can work on it, so, maybe, someone of you will join/fork/clone this project and help me out, finalizing it earlier and better (the support of experienced developers is needed and much appreciated).
I'm now going to mention the SeniorMembers/RecognizedContributors/RecognizedDevelopers that, maybe, have interest in this project.
@fattire @hsbadr @SaintZ93 @SferaDev @TheBr0ken @ZION959
If you get it to work, @_mone, I'll switch my daily builds to this unified one.
On a related matter, there seems to be a typo in the name of one of your repos: unified_andorid_device_samsung_trlte.
Let me also add @lilferraro to the list of devs, as I use his device tree to build for trltespr.
I built this and it boots, with the same issues you have (no SIM detected, camera is busted). Took a bunch of of logs. Getprop shows ro.build.fingerprint is trltetmo (which is right), ro.bootimage.build.fingerprint is trlte. Wifi and bluetooth are working. Mediaserver/libcameraservice service crashes repeatedly. I agree with you that having a unified tree for the entire Note 4 line is the way to go. I tried manually copying the blobs from /system/blobs/tmo/ to /system/lib and /system/vendor/lib but it didn't help.
what proprietary blobs did you use for sprint?
All device trees for the note 4 pie builds are up at
GitHub.com/tripLr-dev
User forum at Telegram
https://t.me/triplr_dev_users
Thanks to @_mone
And @ripee
I will do a test build of my Ubuntu Touch port using this unified repo and report back if anyone is interested. My port still needs a couple things to work but the stuff that works now should be enough to give me a good idea if it will work or not.
tigerpro357 said:
I will do a test build of my Ubuntu Touch port using this unified repo and report back if anyone is interested. My port still needs a couple things to work but the stuff that works now should be enough to give me a good idea if it will work or not.
Click to expand...
Click to collapse
Let us know what you need
Source code
GitHub.com/triplr-dev
Contact me on telegram t.me/telegram to get you in touch with testers and developers. .
I am EXTREMELY interested in a touch port.
Thanks
Also GitHub.com/underscoremone for all the older stuff
I actually have my work on github already, I am also on telegram in the ubports groups, and if you would like to help my repo is probably the best place to start (unless you prefer duplicating work) I only have sensors and the stylus left for hardware (both of which I have been trying to get working) the stylus is an issue on the ubports side but I dont understand the code enough for mir. I haven't had a chance to test the unified repo yet, but I will once I have a few minutes to actually do it.
I wonder how it work to create xda threads for Ubuntu touch, since they seem to have their own forums.
I think adding Ubuntu touch to xda would be an additional resource for users and developers.
tripLr said:
I wonder how it work to create xda threads for Ubuntu touch, since they seem to have their own forums.
I think adding Ubuntu touch to xda would be an additional resource for users and developers.
Click to expand...
Click to collapse
I agree, as all I really see on xda as far as Ubuntu Touch goes is prebuilt downloads which is good for letting people try it, but when I started I initially looked into xda but found no help. I do hope to see that change in the future though
Nice to see someone actually wanting to still develop for this device.. I love this Note4 still.
doubledragon5 said:
Nice to see someone actually wanting to still develop for this device.. I love this Note4 still.
Click to expand...
Click to collapse
Same here
We have several developers for note 4 snapdragon and exynos
T.me/triplr_dev_users
See you there
Roms
Tiny.cc/triplr
Tiny.cc/ripee
And many links in XDA for ROM threads
Post comments in XDA, and bug reports and logs in telegram
Android 10 in progress
Thanks @_mone
The lineage-17.1 thread is up!
[ROM][UNOFFICIAL][10] LineageOS 17.1 [tblte][trlte][trlteduos]
If you don't mind not having a working fingerprint sensor, or audio through the headphone jack, then Q is stable enough for daily use. As always when coming from an older rom version, it is highly recommended not to waste your time dirty flashing and just clean flash.
Q is still a work in progress, so I will still be releasing Pie builds, though maybe not as often. As in years past, once the Q bugs have been fixed up to the current Pie level, I will post about when my last Pie build will be. I will upload it to the Downloads tab located at the top of each page of this thread, and link it in the OP.

[DEV][UPDATE] Status of Custom ROMs after EOL support

As we all know, official Android upgrades for the Nokia 6.1 Plus have ended with the Android 10 update and we will only be getting security patches going forth. However, some of us have the drive and desire to try out newer releases of Android, but we can't exactly shell out more money for a new device that will receive those updates.
Some of you might be aware that to make Android 11 (and beyond) ROMs a reality, any device needs a Device Tree and a Vendor Tree, and currently, there are no full trees for our device.
That's where I come in - again some of you might already be aware, but I have been working on full device and vendor trees for this device, with proper commit histories (flashbacks) so as to maintain order in the community. The trees are WIP, but the progress can be followed in the links below.
Device Tree
Vendor Tree
My current roadmap is as follows (I will update this list as and when I finish those things)
1. Finish the Device Tree by adding "configs," "rootdir," "ramdisk," and "symlinks"
2. Work on the Vendor Tree and pull missing blobs from the device
3. Build and test LineageOS with my trees - 31st build tested, device boots, sensors RIP
4. Maybe build other ROMs till android 11 arrives
Hoping to extend the life of this device,
Sid
Stonks
He attac,
He protec,
But most importantly
He got our bac
cocacola pepsi,
sid bhaiya sexy!
Cheers bro, I'm all for this!
Bumping the thread since I'm halfway done.
Also noticed another dev is close to releasing "source built vendor."
Dear dev, I challenge you to make your trees public.
Sid127 said:
Bumping the thread since I'm halfway done.
Also noticed another dev is close to releasing "source built vendor."
Dear dev, I challenge you to make your trees public.
Click to expand...
Click to collapse
Do it I am with you Coca Cola Pepsy developer :silly:
Moderator Information
Hello OP, I have moved this thread from Development to General as there is no ROM available yet. Please report this thread or contact me again if you have a ROM and kernel source links available, I can move this into Development section then.
Thanks.
Regarding the recent sparks of controversy and mods being involved and a certain someone posting this on their public channel -
Forgot to say few kids started doing criticism again better my answer do by your own or learn from scratch
Click to expand...
Click to collapse
I have only one response to the
message - I HAVE done it by myself and I HAVE learned from scratch, and my trees (which can be viewed by anyone) are evidence of the same. My GitHub history can be followed to see exactly HOW I learned too - my modifying Motorola (Chef) trees.
Also, one question for everyone - considering we had vendorless builds for our device since Android Pie, am I the only one who finds it suspicious that said dev built vendor sources only around the same time I did? I just would like to take a look at said Dev's work and verify.
Cheers,
Sid
Bumping thread since I finally made progress
After 31 excruciating builds, I'm abandoning my trees. My vendor repo got taken down in a DMCA notice for a proprietary library, and I just don't have the motivation to continue on my Device Tree after being seemingly stuck on a device which boots but nothing works. My tree is still gonna be up on my GitHub for anyone to refer to. As for ROMs, the Official LOS trees work great and that's what I'll be using for builds. Though I didn't finish what I started, I learned a lot and am thankful for the journey.
Cheers,
Sid
Edit: vendor repo is up again and I have removed the disputed lib
I wish you had maintained it as you've already done most of the work. What is the end node of device trees which marks its completion?
Volski_ said:
I wish you had maintained it as you've already done most of the work. What is the end node of device trees which marks its completion?
Click to expand...
Click to collapse
I will try and maintain it, but they've been abandoned for the time being... with Android R on the horizon, it didn't make much sense to spend countless hours trying to fix Android 10 trees. Device trees can be called complete when ROMs built using them are stable enough for daily use with every function working as intended.

[Vapourware][/dev/null][11.0] Unnamed/Non-Existent 0.0.1 (2022/06/17)

Hi!
I'm trying to create a LineageOS-based ROM which intends to get stuck in Android 11 forever but with security updates as long as possible.
I expect the probability of this coming to completeness to be 20% or less.
So, here's the deal, I'm still looking at existing repos.
So far I've cloned and looked at
zlewchan's
HarukeyUA's
MasterAwesome's
selurvedu's
I've not looked to much at PixelExperience's nor EvolutionX because they seem to include XiaomiParts and I'm not sure I want to include whatever that is.
Has anyone been following any repo which is not one of the above ones?
msm-4.14 changed from CodeAurora to CodeLinaro?
Are the custom roms using both SOONG and old-style Makefiles?
Are the repo's above (minus zlewchan) abandoned?
Thanks!

Categories

Resources