postmarketOS Pursues A Linux-Based, LTS OS For Android Phones (liliputing.com)
An anonymous reader quotes Liliputing:
Buy an iPhone and you might get 4-5 years of official software updates. Android phones typically get 1-3 years of updates... if they get any updates at all. But there are ways to breathe new life into some older Android phones. If you can unlock the bootloader, you may be able to install a custom ROM like LineageOS and get unofficial software updates for a few more years. The folks behind postmarketOS want to go even further: they're developing a Linux-based alternative to Android with the goal of providing up to 10 years of support for old smartphones...
Right now postmarketOS is a touch-friendly operating system based on Alpine Linux that runs on a handful of devices including the Samsung Galaxy Nexus, Google Nexus 4, 5, and 7 (2012), and several other Samsung, HTC, LG, Motorola, and Sony smartphones. There are also ports for some non-Android phones such as the Nokia N900 and work-in-progress builds for the BlackBerry Bolt Touch 9900 and Jolla Phone. Note that when I say the operating system runs on those devices, I basically mean it boots. Some phones only have network access via a USB cable, for instance. None of the devices can actually be used to make phone calls. But here's the cool thing: the developers are hoping to create a single kernel that works with all supported devices, which means that postmarketOS would work a lot like a desktop operating system, allowing you to install the same OS on any smartphone with the proper hardware.
One postmarketOS developer complains that Android's architecture "is based on forking (one might as well say copy-pasting) the entire code-base for each and every device and Android version. And then working on that independent, basically instantly incompatible version. Especially adding device-specific drivers plays an important role... Here is the solution: Bend an existing Linux distribution to run on smartphones. Apply all necessary changes as small patches and upstream them, where it makes sense."
Right now postmarketOS is a touch-friendly operating system based on Alpine Linux that runs on a handful of devices including the Samsung Galaxy Nexus, Google Nexus 4, 5, and 7 (2012), and several other Samsung, HTC, LG, Motorola, and Sony smartphones. There are also ports for some non-Android phones such as the Nokia N900 and work-in-progress builds for the BlackBerry Bolt Touch 9900 and Jolla Phone. Note that when I say the operating system runs on those devices, I basically mean it boots. Some phones only have network access via a USB cable, for instance. None of the devices can actually be used to make phone calls. But here's the cool thing: the developers are hoping to create a single kernel that works with all supported devices, which means that postmarketOS would work a lot like a desktop operating system, allowing you to install the same OS on any smartphone with the proper hardware.
One postmarketOS developer complains that Android's architecture "is based on forking (one might as well say copy-pasting) the entire code-base for each and every device and Android version. And then working on that independent, basically instantly incompatible version. Especially adding device-specific drivers plays an important role... Here is the solution: Bend an existing Linux distribution to run on smartphones. Apply all necessary changes as small patches and upstream them, where it makes sense."
Another almost dead project!
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
The phone market today seems akin to the PC Market back in the early 90's where they are just starting to settle down on what people want and what can be made, but are we there yet?
early 1980 PC's were made with a bunch of processors and OS's they were some systems, that were compatible with each other, but they were considered ripoffs and often would fall into legal problems.
Late 1990 Phones. Were made with a bunch of different systems and every new model was like a new phone.
late 1980 PC's Battle lines are being drawn. Apple vs. IBM (What we now call a PC) Amiga holding on.
Early 2000 Phones. Black Berry, Microsoft Mobile, Palm were fighting for the smart phone market, while Nokia, Samsung, LG, Motorola were fighting for the consumer market.
Early 1990 The IBM PC won with its compatibles with Microsoft being the true victor as with all the Hardware in fighting, Microsoft was expanding the winning side, to be entrenched in the next battle.
Late 2000 phones. the iPhone came out, and Android was under serious development. Apple and Google have been playing behind the scenes of the smart phone war realizing the smaller Consumer Models were not going to make it.
Late 1990 The PC were no longer connected to IBM and all the IBM Compatibles were fighting for the better selling PC. Microsoft really holding onto the market share
Early 2010 Phones, Apple is the dominate player and Google putting a good push on Android, However the phone makers are trying to make their phones better selling then each other.
Early 2000 PC's Are more or less getting boring to the market Apple had a resurgence for this decade, due to the Halo effect of its iPod line and Microsoft not doing much with XP and delays on the new OS. But in terms of PC's we got use to using them more as a general tool, then something cool and a status symbol.
Late 2010 Phones. Well this is where we are at now. Are we getting ready for a life of boring mobile devices where we don't really care about them any more, they are just a tool, where LTS makes a lot of sense because we won't be needed to update our phones any longer barring failure or damage.
As I type this on my 6 year old Thinkpad, which still is fast and seems to do things just as good as the newer PC's barring high end video. Where before I was getting a new PC every 3 or 4 years to keep up with the times, now it just a tool, I could get a smaller lighter and faster PC.... But what for? It does what I want and I am not having any problems keeping the software up to date, or finding new software for it.
Is the mobile market getting to this point or are their going to be some twist and turns that will make LTS OS a wast of time, because we will be using out of date and usless phones.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
this is basically what a very small team behind handhelds.org did with the openembedded project. bitbake - the build system behind openembedded - became an extremely powerful tool as a result, empowering that small team and part-time contributors to quite literally manage the build for something mad like over a hundred different hand-held devices... including some smartphones.
i don't exactly know the full history but i *think* that most of the team behind handhelds.org were employees of Compaq, and the employees weren't too happy that all of Compaq's PDAs ran Wince[ouch]. when Compaq lost interest in PDAs (even the ones with phone capability) thanks to the huge success of HTC's very first few phones like the Blueangel and Universal (a brilliant clamshell microlaptop in effect) it wasn't long before handhelds.org went down the tubes as well... which is a real serious pity. a *lot* of critical history - and source code - went down with it. i vaguely recall there being some sort of fight over the domain name... gaah this was all over 12 years ago now so it's all a bit fuzzy.
anyway, various... idiots since.... have lambasted bitbake and the entire openembedded project as quotes being too complex quotes and have come up with quotes simpler quotes systems such as buildroot. not realising that the complexity behind openembedded and bitbake is *there for a good reason*. along similar lines you end up with even more idiotic things like forking an entire distribution on a per-manufacturer basis, just as the OA describes.
the point is: it's a great idea for a small team to offer support for a wide range of devices, but they'll need appropriate infrastructure to do it. bitbake - and its ability to hybrid-combine python and shell-code with regular expression pattern-matching to manage toolchain downloading, toolchain compiling, patches, configuration, cross-compiling, cross-compiling using qemu to run the compilation and configuration "native" (yes, really! bitbake can run a native compiler via a qemu headless configuration in order to handle the proper cross-compiling of an entire OS!), parallel builds, cacheing and a bucket-load more, would be a good starting point for them. anything else - once you get into the details - quickly becomes a total nightmare, and that's what things like buildroot's developers totally fail to understand.
So, in a nutshell, I should trust blindly a small company/organization to provide me with free support for 10 years, no string attached? Man, few open source communities can do such crazy support without any kind of funding.
And do not tell me about Debian, Slackware, Arch, LineageOS and so. Either they got clear ties to well defined corporate funding or they get upstream patches from open source software funded by companies.
Get real. Unless there is a real paid subscription, a programmed hardware obsolescence, a shady telemetrics-heavy framework, an appstore cash cow, or clearly defined sponsors, I will not ever touch this thing.
Stupidity is the root of all evil.
What are you talking about? Traditional Windows software work horribly on a touch interface.
The world's burning. Moped Jesus spotted on I50. Details at 11.
Agreed. My work phone is Samsung, still original 4.4.1 never received an update EVER. Still vulnerable to StageFright. Thanks for the update you promised Samsuck. Personal phone is Nexus 5x. Update monthly.
Android and iOS mobile apps have three changes over desktop.
1. Designed for a touch interface.
2. Designed to auto-save and switch to lower power or background off mode as directed by the OS and then transparently resume when returned to the foreground. I don't know how well iOS uses that feature for its apps. Earlier versions of Androids were pretty awful at it, and programs like "Advanced Task Killer" were needed to keep the phone from grinding to a crawl. Android 5.x and newer uses it effectively, you can have a 2GB device and switch between forty apps rapidly without manually closing any of them, and the phone keeps right on going at full speed because the OS pauses and closes things in the background. Similar APIs could be written for Linux and Windows, but nobody has (or they have but they're ignored by 98% of Windows and Linux application developers).
3. Designed so that untrusted apps can be installed with restricted permissions. This kind of thing has always been possible on Windows and especially on Linux (or other Unix flavors) but sandboxes like AppImage, Snappy, and Flatpak didn't have the same focus when iOS and Android launched as they do today.
So you're understating the value iOS and Android bring to mobile and overstating how easy it would be to do similar things on traditional Linux or Windows.
I'm not defending the walled gardens, the locked bootloaders, or the proprietary drivers and firmware required for everything from the GPS to the cell modems to the wifi chips. Those are all anti-freedom, anti-privacy, anti-consumer. But the idea of a popular smartphone operating system running plain Linux or Windows 7 is even more of an impossible dream than Replicant.us, WebOS, Meego, etc...
You managed number of things. To write a thoughtful few sentences on the subject, at least they can be qualified as interesting if one does not subscribe to the ideas presented. Then you asked for downvote in the way as sure as hell. It worked on both counts. You also made me laugh which on this afternoon was not an easy task. I thank you for that. On the second thought I should not have laughed either way. But I still did. I hate (watch out google!!!) having to cry. I much more prefer to laugh.
As far as I understand it, LineageOS has individual images for each hardware skew. This PostmarketOS project has the idealistic but possibly impractical goal of having one core universal package and then one unique package per hardware skew.
So in terms of architecture, PostmarketOS would be an improvement. But it's not clear to me that it could ever be done.
One thing that a tech people don't realize is that not everyone wants the latest phone every year to begin with. A large portion of the market will never used ANY of the advanced features that Google tries to add with every generation of phone. I do repair and salvage of these various devices, and one of the greats complains I hear is that NO ONE want's these new features that Google keeps pushing with each version of their hardware. None of them give a damn to integrate ANYTHING with their google accounts and mostly just want something that'll play video. And none of them I speak to EVER buy anything on the Play store.
Hell, right now I'm sitting on a 50 pound box of older phones from the past 5 years. I don't do repair of these things a primary job, but even then I've got such a back log of spares that I'm mostly just chucking a good half of what I get because I've got too many. Even the place in town that does this for a business has the same problem.
or the proprietary drivers and firmware required for everything from the GPS to the cell modems to the wifi chips.
First, how else do you propose to deliver functionality from those peripherals? A company dedicated to making low-power high-throughput WiFi chips is already going to have trouble paying its engineers and keeping up with the process node changes and technology/standards upgrades in a low-margin business. Releasing the firmware code would reveal quite a bit of the technology and method used, both software and hardware, most of which would be instantly commandeered by cheap Asian knockoffs. If you believe that embedded engineers should be paid and that R&D should go into new standards and improvements, then you need to articulate a structure that would allow that to happen.
Second, do you think that Linux (or even BSD) let alone Windows is any different? We have barely-functional[1] open source drivers for GPUs, lets alone the firmware embedded on the chip. And likewise the firmware running on all the other peripherals (hard drives, keyboards, trackpads, WiFi adapters, battery chargers) is all bespoke and proprietary.
Design a linux based smartphone OS that does exactly TWO things: make phone calls, and send text messages.
If it only does those two things, it doesn't have to be a smartphone. You can pick up a feature phone for $20 right now that will do that.
While I wouldn't use a phone that couldn't, you know, make phone calls it's also true that I only average about a phone call per week despite using my phone heavily (for non-social media communications) throughout the day.
I could see some people being OK with it not being a phone.
Android is Linux. They want to put GNU/Linux on the smart phone. This is not new either. I find it quite uninteresting.
Yeah that's one thing I didn't think to mention, but that is a valid point and a real problem for the mobile industry. Constantly having to relearn the ins and outs of an OS is frustrating as HELL and puts off a lot of the consumer market.
To go along with that line of thought; as I said I don't do phone repair as a primary job. Just as a second job since i have a lot of skill in electronics repair. No, my primary job up until very recently was a local route Truck driver. And there is nothing more INFURIATING than relying on a phone for you job only to have it brick itself from a screwed up forced update. Which is why I 100% abandoned the use my ANY smart phone for any job specific task. It is NOT worth the hassle.
Why not just fork and develop Firefox OS? It actually works, is based on Linux, CSS and HTML5 and has actually been deployed by a handful of phone manufacturers, primarily in India. I don't even think it's truly dead, as a couple of small Indian firms appear to still be developing it.
Sure, it was a waste of time for Mozilla but no need to reinvent the wheel.
What are you talking about? Traditional Windows software work horribly on a touch interface.
It depends on how traditional it is. Some of the really old stuff was designed for small screen sizes and didn't make much use of the right button, if any.
On the other hand, the start menu was garbage for PDAs. Microsoft actually had the UI working better in the earlier versions of WinCE.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
my galaxy note 2 hardware is still quite ok (microphone problems, but using it as a phone never was a priority), but CM is non existent and samsung stopped to deliver update a long time ago.... I would be a bigger fan if they would have based it on debian, but ok...
Someone must have forgotten that every single phone has a custom kernel. Most phones are still no 3.x kernels with no hope of mainline support.
Added to the issue of old SoC's with no mainline support is every phone has a different set of devices attached to it, from touch controllers, to accelerometers, gyroscopes, audio codecs, cell radios, wifi/bt chips... even the buttons aren't going to be on any sort of standardised port, they're on random gpio's.
At least if it was Android based, they could use the kernel, drivers and BSP developed by the manufacturer.
Without manufacturer support, this is going to support only a handful of phones and will be forgotten like the dozes of other projects before it.
Intel keeps producing CPU's and South/Northbridge chipsets that may as well be integrated into the CPU since you keep having to replace the motherboard with every CPU and RAM change anyway.
I know, right! They should have stuck to DDR2 and AGP. They should have never integrated the memory controller and kept the front side bus.
They shouldn't keep upgrading the bandwidth from the CPU to the rest of the system.
All because you want to buy less stuff from them.
There's good reasons why it's easy to install Linux on 10yo PCs but Google can't update Android even on its own phones for more than a few years, and those are all down to device drivers. PCs have well-documented processors, standardised BIOS, common hardware interfaces, and nearly all the main hardware APIs are open and well-understood (notable exceptions include high-level 3D graphics acceleration chips). Anyone can write something that will boot and run on nearly any PC (or VM) in the last 25 years.
That's not what the phone world looks like. Even without carrier complications, smartphones are built on a limited range of proprietary SoCs whose hardware interfaces are jealously guarded by their manufacturers, who supply specific binary driver blobs for each model under strict NDAs to companies that buy enough. Any OS HAL has to be tailored to those driver blobs, usually by the phone's manufacturer when they build the hardware. New SoC (new drivers), or new OS, and this has to be done again. If the SoC vendor exits the market (like TI did), you're out of luck. It's a huge job for organisations like Cyanogen/Lineage to blindly juggle existing closed drivers with continuing lower-level OS changes, papering over the growing gaps (especially if the HAL source isn't available) for each different device, and results are not always ideal.
postmarketOS hasn't attempted to tackle most of these drivers yet, even for the few devices it boots on. FirefoxOS has the same issue, with support only for the few specific devices it was tailored to, and porting MeeGo, Maemo, Sailfish, Tizen, WebOS, Ubuntu Touch, or any Linux distro would have to be done in the dark for each and every different phone.
Google's new Android O release (due today) hopes to alleviate this somewhat with Project Treble, a standardised driver interface layer that SoC vendors can interface to, regardless of model or vendor or (hopefully) AOSP updates. There's still carrier- and manufacturer-specific changes to worry about, but in theory new releases of vanilla Android could be installed on Treble-compliant platforms with minimal effort, and maybe even older devices could have Treble layers written for them, ensuring continued support for years to come.
Why would anyone engrave "Elbereth"?
Perhaps it is time to re-read Why Openmoko failed
My phone, hardly an high end phone, has a 3.x kernel. I just checked an old retired phone from a different manufacturer I had laying around; also runs a 3.x kernel. I'm going to call bullshit on your claim.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Oh, on top of the reasons you stated there's one more: a lot of these wireless chips, GPS, etc... license components or software from other vendors, and the manufacturer may not have the right to release their code as open. This is one of the objections I think AMD raised when they were asked to make the code for their Platform Security Processor open source.
Everything is locked because the current market makes that the profitable way to go. We've got to figure out how to put the incentive towards opening everything. I realize I'm being idealistic and I don't have a concrete path forward. But consider that, for example, if you get a device driver expected into the mainline Linux kernel then you don't have to backport security fixes to older kernels. You can just use the latest kernel to supply customers with the fix. So that would be a great motivator for companies to open things - but consumers just take for granted that newer security fixes flat out aren't coming.
That was a typo. It should have read "Most phones are still on 3.x kernels"
The word "no" doesn't make sense.
My Moto X 2014 still runs a 3.4.42 kernel. 3.4 went EOL in April. Motorola/Lenovo hasn't sent out a security patch since August 2016
I thought it was supposed to be "not", as in there is not anything wrong with using 3.x kernels :^)
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Smartphone OS support for 10 years is pointless.
If battery life is measured in charge cycles, then a 1000-cycle battery can most optimistically last 3-4 years. In practice most have trouble getting past 30 months without being significantly degraded, and that downward spiral of battery life makes the last 3 months miserable. Snap-on external batteries or Qi chargers to give more and more convenient recharging opportunities don;t offer much of an enhanced experience. Battery life cycle duration is the real limiting factor, and the trend to non-removable batteries ensures the industry has a defined and predictable replacement cycle, hence a predictable replacement market.
Profits. Enabling users to extend the life of their insanely expensive toys isn't as profitable as relying on Moore's Law to make the replacement to so so attractive.
deleting the extra space after periods so i can stay relevant, yeah.
I hope all the best for them fully knowing it's an uphill battle...
How many projects with similar promisses we've heard about in the past?
I'd really love to use older smartphones as a Linux box of sorts, even if there are downsides to it... put it to good use instead of turning it into eWaste and all.
On the other hand, the start menu was garbage for PDAs.
I agree, but I find it interesting that the resurgence of touch interfaces has brought the Start Menu back in a modified form. Now we call it the "hamburger menu".
No use to you, obviously. But personally, I find it very useful to have a powerful computer with me everywhere I go.