When running an officially supported version of /e/OS, updates can be performed simply via System Settings > Updates. (I don’t know how it’s called exactly in english, since my system is in french.)
Now when some specific hardware is not supported anymore (like my Samsung SM-A520F), there’s always the possibility to build an unofficial ROM. I just did that last week, and it went perfectly.
Here’s something that would be nice. Tweak or otherwise hack the internal update mechanism of /e/OS to make it point to a public server hosting my unofficial builds. So all there’s left to do is pressing the Download button, and then Install the update.
No activating Developer Options, no adb sideload, just two clicks and reboot. Since we run four identical Samsung SM-A520F phones in my family, all with /e/OS, this would come in handy. The more so since my parents live in a different country.
# OTA URL that will be used inside CMUpdater
# Use this in combination with LineageOTA to make sure your device can auto-update itself from this buildbot
# define EOS_OTA_URL in your device/<vendor>/<codename>/vendorsetup.sh.
OTA_URL="$EOS_OTA_URL"
# if not defined in the device vendorsetup.sh the following will be used instead:
: "${OTA_URL:=undefined}"
Docker is not so flexible as far as i understand, have a read at :
you can ofc roll your own ota server/api, let your own build talk to that api. But you can’t make a switch from official builds to your own custom server just by switching the api url it talks to - the ota to be accepted needs to be signed with keys known to the rom. To import the signing key of your own build server into a running rom built elsewhere you need root, there’s no facility I know of to do this user friendly. See this package for a bit of context
This have no sense considering the a5y17lte you just build for, as your builded the last possible e-2.3-r version for this device.
There will be no updates or upgrades anymore for R branch.
You may build upgraded from S, T, U branch IF you find or create some “device tree” and “kernel” sources for that branch → typically what @ronnz98 do …
But maybe your question about OTA server was related to other devices …
Does that mean this is the last possible unofficial build for the a5y17lte model ? In other words, I won’t be able to perform subsequent and more recent builds for this phone ?
I would certainly have a go! Perhaps I would research whether Lineage builds worked and were distributed first [1], maybe not https://www.reddit.com/r/LineageOS/comments/xiflon/lineageos_19_for_galaxy_a5_2017/ … the kernel comments in this post are the likely blocker. In very quick research it is also slightly odd that I see no evidence of updates of the device tree for Android 12.
Can you eventually translate this into a language accessible to mere mortals ? While I do know my way around Linux and Docker (I teach these things at our local university) I’m quite the newcomer to the universe of smartphone operating systems. Most of the recent posts make me feel like I should belong to some secret society that has access to some privileged information.
I am so sorry to have made you feel less OK by reading my comments – I guess I have spent too much time in a little world of trying to keep my three pre 2017 devices alive !
That reply was somewhat cobbled together before coffee and without proper research. I am glad you have asked.
I don’t know where to start … please tell me one or two things … I am very happy to share my limited understanding.
Edit I have not previously read this link AtlanPrime's CUSTOM ROM Guide but it seems nicely built. Does reading this trigger any questions about how to get started ?
Hmmm. I don’t know where to start either. But let me try. One thing I really don’t understand is the /e/OS release policy.
Let’s pick a Linux example. With Red Hat Enterprise Linux you get a major release roughly every four or five years. And then each release has low-risk updates for ten years. So RHEL 8.x released in 2019 has support until 2029, RHEL 9.x released in 2022 has support until 2032, etc.
I’m not sure how this works for /e/OS. And I’m not sure about their relationship with LineageOS. I know LineageOS is basically AOSP with a few extras (I ran LineageOS on that phone before). But what does /e/OS do here? Is /e/OS basically LineageOS with many extras on top?
Regarding release cycle Google is the driver with a “policy” of annual release and AOSP inherits that.
You are probably aware of the relationship between Lineage numbering and Android versions the link is a graphic of that numbering to include /e/OS.
Lineage often creates “bleeding edge” builds weekly; /e/OS releases an update monthly, with a significant lag compared with Lineage.
/e/OS early version numbering looked like e-0.xx, moved to e-1.xx and moved to e-2.1 some seven or eight months ago.
The “major updates” 1 and 2 added significant improvements, drawing the /e/OS experience increasingly further from vanilla Lineage; of course exists https://lineage.microg.org/ and it is actually this from which /e/OS is forked.
Manufacturers in cooperation with Google are not especially interested in keeping devices going for years; maybe in the current climate this is changing. Maybe I stop before becoming too prejudiced, but I think I would have commented in 2017, that Google running kernel 3.1x was bordering on antiquated.
Loosely, my 10+ year old PC has Kernel: 6.1.0-23-amd64 on Debian bookworm; while my 2019 Motorola with e-2.7-u-xxx has kernel 4.9.337 thanks to the free operating system supplied to Motorola by Google.
I guess I did not include the bit of “release policy” which tends to prevent ongoing progress … /e/OS has stopped their releases of Android 11 (R) some time after Google stopped security patch updates for that version in February 2024.
The SPL stop about February in recent years for the outgoing Android version.