This is a bit different than most postings here, as I'm not directly providing any binaries to install on your phone and instead providing a simple tool, rattlesnakeos-stack, to build your own customized ROM based with latest AOSP on a regular basis, with your own signing keys, and your own OTA updates. This probably will be interesting to a small subset of users as it requires some technical knowledge and costs money to run this infrastructure in AWS to produce your own builds.
You can read more about the project here: https://github.com/dan-v/rattlesnakeos-stack
I'm generally more active on the subreddit if you have any questions: https://www.reddit.com/r/RattlesnakeOS/
XDA:DevDB Information
RattlesnakeOS [Pixel 3a], ROM for the Google Pixel 3a
Contributors
dantheman78
Source Code: https://github.com/dan-v/rattlesnakeos-stack
ROM OS Version: Android 10
ROM Kernel: Linux 4.x
Based On: AOSP
Version Information
Status: Stable
Current Stable Version: v9.0.35
Stable Release Date: 2019-09-08
Current Beta Version: v10.0.0-beta.1
Beta Release Date: 2019-09-12
Created 2019-09-13
Last Updated 2019-09-13
I really like the idea. I have some experience in building Android, so I might try this if I find some time. Be prepared for LOTS of questions if I do
flocke000 said:
I really like the idea. I have some experience in building Android, so I might try this if I find some time. Be prepared for LOTS of questions if I do
Click to expand...
Click to collapse
Happy to help answer any question if you decide to make the jump. Also, thanks so much for your work on andOTP, such a great app!
dantheman78 said:
Happy to help answer any question if you decide to make the jump. Also, thanks so much for your work on andOTP, such a great app!
Click to expand...
Click to collapse
Thank you, every time I encounter someone using andOTP I remember how much I love developing it. My main problem is that I don't have any time to spend working on it right now (same as with trying this). Let's hope that changes soon ... :good:
Oh dang! This is way more robust than I expected going into your repo! This is impressive! I like this! I have my own build systems setup locally but I'm digging into this now and seeing what you did better than I did. I have some security features disabled due to vendor being obnoxious. My AOSP infra work is a bit dead in the water until TWRP updates for Android 10 though. Excited to play with this when I can.
So one thing I'm wondering though is, why provide options for building in apps that can trivially be downloaded (and maintained!) From fdroid? Unless I'm missing something, I feel like adding in chromium and pushing every update for that via OTA is fairly excessive.
Helios747 said:
So one thing I'm wondering though is, why provide options for building in apps that can trivially be downloaded (and maintained!) From fdroid? Unless I'm missing something, I feel like adding in chromium and pushing every update for that via OTA is fairly excessive.
Click to expand...
Click to collapse
The primary reason for shipping F-Droid is to be able to include the privileged extension which is configured during the build to only trust your signing key. The privileged extension provides least privilege elevated install/uninstall permissions to make installing/updating F-Droid apps not require 'unknown sources' to be enabled or constant prompts, essentially making it behave like the Google app store.
The reason for shipping Chromium is not for the browser, but for the webview. The standard webview that ships with AOSP is meant for testing purposes, is not updated regularly and likely has security issues. So building a modern webview and keeping up to date is important. The general idea is that the average user would build this once a month and would get an updated webview with each release. If this sounds too frequent to you, you may pick and choose when to rebuild Chromium by locking onto a particular Chromium version in the config file.
dantheman78 said:
The reason for shipping Chromium is not for the browser, but for the webview. The standard webview that ships with AOSP is meant for testing purposes, is not updated regularly and likely has security issues. So building a modern webview and keeping up to date is important. The general idea is that the average user would build this once a month and would get an updated webview with each release. If this sounds too frequent to you, you may pick and choose when to rebuild Chromium by locking onto a particular Chromium version in the config file.
Click to expand...
Click to collapse
Ah. That makes perfect sense. I forgot that you can set system webview providers.
Related
Hi, I'm fairly new to android and spend most of my time writing applications rather then getting involved with the kernel.
I've been asked by my manager to see if its possible to have a version of android installed with limited functionality.
basically taking things like the locations and other commercial specific services, but keeping all the core things that android needs to simply run, and keeping most of the wifi/network capabilities.
This is going to be done on Android 4.0 on a tablet, which tablet has yet to be decided.
If anyone is able to give me some advice of where i should be looking and what i need to do, i would be very grateful.
thanks,
to be or not to be
HellPrye said:
I've been asked by my manager to see if its possible to have a version of android installed with limited functionality.
basically taking things like the locations and other commercial specific services, but keeping all the core things that android needs to simply run, and keeping most of the wifi/network capabilities.
Click to expand...
Click to collapse
find a tablet with kernel sources released/published by manufacturer also you need Android sources (AOSP) now recompile disabling some features/ options in theory it seems to be easy this is your starting point in my opinion
Thanks ruscan,
the starting point is appreciated, as before I had little clue to how to go about this.
What would happen if I build android from source and flash it to my One X?
With the current release, it is possible to build for Nexus 7, for some variants of Galaxy Nexus, for a variant of the Motorola Xoom, and for all variants of Nexus S and Nexus S 4G. The exact level of functionality for each device depends on the availability of the relevant proprietary hardware-specific binaries.
Click to expand...
Click to collapse
- (source)
Will I brick my device? Did HTC basically just take the code and modify it to work on the One X? Any suggestions on how to proceed if I were to build my own ROM?
If you have no experience in this you are likely to f*** things up.
Just stick to aosp roms - same result.
Sent from my HTC One X
TToivanen said:
If you have no experience in this you are likely to f*** things up.
Just stick to aosp roms - same result.
Click to expand...
Click to collapse
Well that is no fun answer. I want to learn. I make apps for a living and want to advance and build my own ROM, because I want an all custom made one. I know I can go with CM and mod their code (or, can I?), but it would be more fun to actually do it from scratch. If it is possible, not build from AOSP at all. I know it sounds retarded but I believe the best way to learn is do as much as possible completely from scratch.
With that said, do you have any suggestion on where to start? Like mod the AOSP source code and get it running on the emulator?
You can branch cm10 and build that, it's a good place to start, you'll learn a lot.
After that, you may want to say, diff the AOSP kernel against a similar HTC kernel to see how many changes you'd be required to make to pure AOSP to get it to work with all the hardware specific bits.
Due to GPL, HTC are required to release the source modifications to the kernel and android (I assume), for any released binaries, but they can be a little slow. The JB stuff should be out soon, in theory. Hopefully that's enough to get everything working, but you will also need any binary drivers from nVidia etc.
It's a long road, and you'd do well to start with something working and work backwards towards AOSP.
I'm not sure what you mean by not even with AOSP, do you intend to create your own OS?
BenPope said:
You can branch cm10 and build that, it's a good place to start, you'll learn a lot.
After that, you may want to say, diff the AOSP kernel against a similar HTC kernel to see how many changes you'd be required to make to pure AOSP to get it to work with all the hardware specific bits.
Due to GPL, HTC are required to release the source modifications to the kernel and android (I assume), for any released binaries, but they can be a little slow. The JB stuff should be out soon, in theory. Hopefully that's enough to get everything working, but you will also need any binary drivers from nVidia etc.
It's a long road, and you'd do well to start with something working and work backwards towards AOSP.
I'm not sure what you mean by not even with AOSP, do you intend to create your own OS?
Click to expand...
Click to collapse
Thanks for the thorough information! If it is possible to create your own OS, then yes, it would be awesome. Actually my idea is to make a ROM similar to the Linux distribution Tiny Core Linux; only the most essential stuff are present and bloatware and other features are removed. It could maybe serve as a good starting point for other ROMs to build on that want a minimalistic base. However, that is very, very far into the future. Now I would just like to compile a ROM that I have developed. But as I said before, if possible, skip AOSP and build my own OS definitely! Is that even possible?
Of course its possible, Android wasn't invented by some higher being or alien lifeform.
Nobody would use it though, because there would be no apps.
BenPope said:
Of course its possible, Android wasn't invented by some higher being or alien lifeform.
Nobody would use it though, because there would be no apps.
Click to expand...
Click to collapse
I see, so I am locked to AOSP then? i better start with the CM branch, thanks a bunch.
Is this project treble?
No
halleyrokz said:
Is this project treble?
Click to expand...
Click to collapse
That is the security patch level of android. You can get more info about project treble here.
For everyone getting excited over Treble should keep this in mind
"Project Treble doesn’t necessarily mean that all handsets will see updates instantaneously, as Google is not handling them directly. OEMs are still free to tweak and skin the OS, as well as embed their own software into the Android OS release. So there’s still going to be some time taken for OEMs to build and test their own particular take on Android."
zelendel said:
For everyone getting excited over Treble should keep this in mind
"Project Treble doesn’t necessarily mean that all handsets will see updates instantaneously, as Google is not handling them directly. OEMs are still free to tweak and skin the OS, as well as embed their own software into the Android OS release. So there’s still going to be some time taken for OEMs to build and test their own particular take on Android."
Click to expand...
Click to collapse
Spot on. Treble just eliminates the need for new drivers, so OEMs don't need to wait for part manufacturers (like Qualcomm). But OEMs (Samsung, LG,...) are still the main culprit when it comes to wait times or not getting updates at all.
If community can make a custom ROM for a 5+ year old device, so can an OEM. Drivers are obviously there, they're just not interested in updating anything for more than 2 years (even less in case of low and mid range devices). Treble can't change that.
The only real solution would be "one size fits all" system, that gets pushed directly by Google to ALL devices - like desktop systems. But that would probably be way to big for available storage on phones ...
Sent from my OnePlus 3 using Tapatalk
Explorer23 said:
The only real solution would be "one size fits all" system, that gets pushed directly by Google to ALL devices - like desktop systems. But that would probably be way to big for available storage on phones ...
Click to expand...
Click to collapse
We're going very offtopic here, but the topic interests me so, eh.
If we're talking about size here, we can follow a method that has been used in Linux live systems for a while now: a tarred (.tar) or squashed (squashfs) images. These provide a small yet ”fast enough” images that can be smaller than their uncompressed counterpart. Size is not of the constraint nowadays with these at developers disposal.
Alternatively, you can have a system that Treble tries to achieve: a base image (AOSP), OEM-specific changes and drivers, and abstraction for said drivers and changes. This system still relies on OEMs (and SoC manufacturers to an extent) to actively update their changes to the base system (and we know how lazy some OEMs can be with their updates).
But this is very offtopic, so let me offset the talk a little.
------------
To OP: No, that is not Treble. Treble isn't something you can quite see in user space (i.e Settings app). What you're pointing out is the security patch level, that is, how "updated" your current system are to the security patches Google are providing.
The level is laid out in date, so "November 1 2017" would be a fairly recent update. These patches get updated monthly, and seeing that you're using OxygenOS, means that you'll have to wait for OnePlus to push the security update after Google pushes them.
F4uzan said:
We're going very offtopic here, but the topic interests me so, eh.
If we're talking about size here, we can follow a method that has been used in Linux live systems for a while now: a tarred (.tar) or squashed (squashfs) images. These provide a small yet ”fast enough” images that can be smaller than their uncompressed counterpart. Size is not of the constraint nowadays with these at developers disposal.
Alternatively, you can have a system that Treble tries to achieve: a base image (AOSP), OEM-specific changes and drivers, and abstraction for said drivers and changes. This system still relies on OEMs (and SoC manufacturers to an extent) to actively update their changes to the base system (and we know how lazy some OEMs can be with their updates).
But this is very offtopic, so let me offset the talk a little.
------------
To OP: No, that is not Treble. Treble isn't something you can quite see in user space (i.e Settings app). What you're pointing out is the security patch level, that is, how "updated" your current system are to the security patches Google are providing.
The level is laid out in date, so "November 1 2017" would be a fairly recent update. These patches get updated monthly, and seeing that you're using OxygenOS, means that you'll have to wait for OnePlus to push the security update after Google pushes them.
Click to expand...
Click to collapse
There never can be a one size fits all OS. Even Linux can't really pull that off for every device.
See this is another thing that will never happen. Oems will never upload their code changes to aosp as Google intends. Most of the time due to the fact that they don't write the code for the different parts like BT, Wifi chips etc. This code comes others which is closed sourced and paid for.
Treble will most likely never become much. Already too many people misunderstand what it does. That i can't blame people for. Things like the xda portal that are giving out bad info is gonna cause a huge amount of drama over it.
/e/ is a complete mobile ecosystem lineage os based. Portal
We could have just focused on an OS, but apps and online services are critical components of a smartphone experience, too.
/e/ consists in a mobile operating system (OS) and carefully selected applications, together forming a privacy-enabled internal environment for mobile phones.
Combined with online services, such as a search engine, email, storage and other online tools, it creates a unique environment privacy-in privacy-out.
At the core, the operating system
/e/ is an “unGoogled” version of Android OS.
It has an Android OS core, truly open source, with no Google apps or Google services accessing your personal data. It is compatible with all your favorite Android apps.
Get things done on the go
Your smartphone is like your swiss army knife and you expect to use it throughout your day to help you get things done.
Don’t worry, with /e/ you’ll find a set of carefully selected apps to cover your most common needs, personal and professional: stay in touch with your inbox, plan your week ahead, chat with your friends and coworkers, browse the web, check the weather, check your intinerary for your next meeting…
All the apps are based on open source bricks. We improve their design and experience to make them look stellar and easy to use daily.
DOWNLOAD
Great battery life
Tried this ROM today. Battery friendly like the JDC. Only Camera interface looks too old-school to my liking. And using the Camera toggles the maximum brightness which could be inconvenient in darkest environment.
Other than that, Weather location could also be improved as it detects my neighbour town instead of my own. Besides these 2 issues, all other pro/cons are quite the same to other 7.1.2 ROMs out there.
Google play support present?
lomniom said:
Tried this ROM today. Battery friendly like the JDC. Only Camera interface looks too old-school to my liking. And using the Camera toggles the maximum brightness which could be inconvenient in darkest environment.
Other than that, Weather location could also be improved as it detects my neighbour town instead of my own. Besides these 2 issues, all other pro/cons are quite the same to other 7.1.2 ROMs out there.
Click to expand...
Click to collapse
play store enabled?
Read this https://ewwlo.xyz/evil.html
Lineage Microg is better than this
rashed_mamun said:
play store enabled?
Click to expand...
Click to collapse
If I use this Rom it's because I don't want to use Google Play Store anymore. So I don't even check it. =)
Does this use microg?
If not, is the location provider better than the mozilla location provider in microg?
GForceXIII said:
Does this use microg?
If not, is the location provider better than the mozilla location provider in microg?
Click to expand...
Click to collapse
Hey. uses. MicroG
rashed_mamun said:
play store enabled?
Click to expand...
Click to collapse
Uses original market "Apps". And maby downloaded cool store - aurora store.
Why did you choose android 7.1 instead of using 8.1 or even better 9.* ?
I appreciate the works focused on privacy and in contrast with google policy, but I don't understand why you based the software on an old version of android(Lineage).
crocco95 said:
Why did you choose android 7.1 instead of using 8.1 or even better 9.* ?
I appreciate the works focused on privacy and in contrast with google policy, but I don't understand why you based the software on an old version of android(Lineage).
Click to expand...
Click to collapse
this is planned, but a little later.
Nice one, but it will be great if you'll add OMS support to the firmware for Substratum use.
Just using this rom for 2 day and there is (many) bug and the way it looks (ui) just not something like any other android rom here(more like apple). But i really like the concept and i hope it will update the android version till at least 9 and maybe more.
If there is more people interested in this rom maybe the developer will update this rom faster :fingers-crossed:
Is much to work. Rom is good, but have many bugs. I will try it later, when it will work without bugs.
As for efficiency, I can say that it is the fastest and most stable. I tried all the existing rums. But as I said, there is still a lot of work to be done on this rum. It's worth investing in. I am sure that many will pass on this rum. Reminds me of Iphone 4)) microg often shuts down. Many applications are not downloaded from Apps, I had to search for them from the browser (WhatsApp, youtube, etc.) Many applications generally do not exist, which I again downloaded from the browser. It would be useful a built-in call recorder, it would be good for gmail account to be able to connect it to the existing mail application. I have a lot of information there, which I would not want to give up. The camera app should be updated. So is the Weather app. But as a very fast, smooth and stable core. Well done for that.
I wanted to GTFO Google and (ONE) single ROM has been developed for this phone on XDA without Gapps and it's not even maintained any more. I tried out Lineage with Micro G and I was pretty happy. I asked if anyone here would be interested in GrapheneOS and got no reply. I built it for myself and was happier with the spoofing in Lineage so I went back. But that brings me to the OP question...I guess I just don't understand why anyone would build a custom ROM that allows Google to spy on you completely unchecked. I thought I must have been insane since literally nobody here seemed to agree. Then I found this write up......I immediately decided to post it. Not because I want to piss people off. Not because I'm unappreciative. But because WTF ARE WE DOING??Why are we even running custom ROMS? Xposed came out and Google screwed us with SafetyNet. Then you had Substratum that got checked from Google but it's being "allowed" right now even though they tried to patch it out. Then Magisk comes and Google buys him out. This has always been a "cat vs mouse" game until recently. Now it's just a "cat vs customizable cat" game. Did we lose? Or is it that people would rather trade their privacy for convenience? The direction we are headed as a community is allowing Google to slowly close off and become Apple pt2 and nobody seems to mind much. But this is XDA! How will it exist without people caring about this?Here is part of the write up that applies specifically to the OnePlus7T. Hopefully I'm not alone. Hopefully we can get this train back off the tracks where it belongs. Barreling through the unknown in defiance of these huge entities trying to control you. Link is at the bottom of the write up.crDroidLineageOS-based custom ROM designed to increase performance and reliability over stock Android for your device while also attempting to bring many of the best features existing today, according to their intro & how I think its grammar should be.
Personal remarks: A very good heavyweight ROM (and the best Limbo ROM at the moment), burdened with a soydev website (at least there's no BlockAdBlock unlike Arrow) & lack of Vanilla/GApps enforcement in a way similar to Bootleggers - no Vanilla/GApps branding
Advantages:
Per-app data restriction (Pie, A10, A11)
Signature spoofing (A10 & A11: no toggle)
Inbuilt App Lock
Disadvantages:
No signature spoofing (Pie-only; forgiven & redacted starting with A10, 12/4/2020 build)
If you look at the official site, there's a screenshot that shows this feature, on a toggle. Should have been available at Settings > crDroid Settings > Miscellaneous; but it's not there.
Tested the 12/4/2020 build & found out that microG support is enabled without toggle. This anti-feature is redacted.
Poco X3(N) only (confirmed on 23/3/2021 build) - USB debugging enables itself on boot (redacted per 22/4/2021 7.5 build)
28/4/2021 Update : With inbuilt vendor on 22/4/2021 7.5 X3N build, USB debugging no longer self-enables on boot (it's enabled at 1st boot, but can be disabled without enabling itself on subsequent boots). Welp, guess it's like the F1's Pie era all over again, where most builds (especially userdebug ones) enable USB debugging on boot until developers starts to include vendor partition in their builds.
Poco F1 (A11) : No force encryption
No Vanilla/GApps enforcement, in addition to lack of Vanilla/GApps labeling
List of GApps-infested builds :
OnePlus 7T & 7T "Pro"
Not having an active TWRP development for a device does not excuse the maintainers for releasing GApps-only releases, unless they also make a Vanilla variant. And, since there is an active TWRP development, there shouldn't be any more reason to tolerate a lack of Vanilla build (other than the maintainer being too lazy / unwilling to develop a Vanilla build, in which case per should be replaced).
Poco F3 (switched to Vanilla builds as of 9/7/2021 builds, but still listed for reference)
Redmi K20 / Mi 9T (davinci) (Vanilla build available on GDrive, FWIW.)
OnePlus 9 "Pro"
When its non-"Pro" (the vanilla OnePlus 9) variant gets a Vanilla build (despite a lack of functional TWRP for either) there is no excuse to be lazy & provide GApps-only builds
Custom ROM List
Definitely. Yaap microG by John Galt is very good also. Omni microG is also good
I read through your entire post and while most of the things you have said could be attributed to a subjective basis depending on person to person basis but the overall idea has a couple of inconveniences that I would like to add some insight of my own and would like to explain without sounding too brash
This is just my own personal impression that I have witnessed being part of the greater Android ecosystem in general starting from the early days to where we are now
In my opinion, the lack of interest by developers that originally gave their time and effort into working hard and fixing things has generally not kept up with the pace of Google's development efforts to curb these "hacks". The cat and mouse game what the post you quoted said is nearly at an end. I think Google is winning with everything in broader terms and despite the conveniences offered by microG and custom roms using that implementation, it doesn't come close to what Google offers.
The hassle of finding workarounds to make even the basic of functionality to work on Android requires time and effort which as I have already said earlier, it's something no one can commit to these days. The "enthusiast" aspect of custom rom development has really taken a dive over the past few years as manufacturers generally offer good enough functionality (at least for my use case as I am heavily reliant on my phone for work and general personal use) and Android has come a long way since the early days.
All of what I said boils down to the cost of convenience vs concern for issues that are really issues for a specialist segment of users within the entire community. People de-google their phones to focus on privacy and prevent data mining from these data hungry corporations and I for one for wish I could have something that would decrease my overreliance on Google's services but it is just not possible as the majority of people just use their phones and expect things to work just like that. So, the long lived idea of if it ain't broke, don't fix it plays very well into this. The trouble is generally not worth the inconveniences that come with it. Lack of interest of users therefore means lack of options and thus a lack of development.
Here's my 2 cents
I think for devs or hobby-coders who do this for free, time is more valuable than the luxury of "privacy" (which doesn't really exist if you're using any form of social media, like XDA).
Things changed. Android is more polished now than the Nexus days.