Every year, as consumers gobble up the latest Android devices, more old, but perfectly serviceable, units end up collecting dust in drawers. Or worse, they end up getting tossed in the trash. One of the most promising tools we have to help keep these older devices useful is postmarketOS, a full-fledged Linux distribution that provides a flexible and up-to-date software environment on devices that might otherwise be stuck with some old and unsupported version of Google’s mobile operating system.
As of the latest update on the postmarketOS blog, the team has announced an exciting milestone: over 250 devices can now boot the stable release of the OS.
Now to be clear, not all devices will be fully functional. In fact, the blog post clarifies that some of them only barely boot. But it’s progress, and now that these semi-supported devices aren’t hidden behind a development version of the OS, it means more folks will be able to put them to use.
For example, if you want to turn your old smartphone into a low-energy headless webserver, it doesn’t really matter if its display, touchscreen, or speakers are supported. You just need it to boot into Linux and fire up an SSH server so you can get in and start working.
But support for new devices is just one of the additions in this new v24.06 release. The blog post also points out several notable software upgrades, including the move to the 6.x branch of KDE Plasma Mobile. This brings with it a long list of improvements and changes, including a rewritten homescreen with enhanced customization options. If you prefer a more minimal GUI, don’t worry. This new release also updates Sxmo, which provides a menu-driven interface for both touch screens and hardware controls.
Among the newly supported devices is a generic x86_64 image that should work on a wide array of PCs. While obviously there’s no shortage of Linux distros you could run on your old computer, being able to install postmarketOS on it is definitely helpful for development purposes. There’s also a new Tegra ARMv7 target which brings a number of new devices into the fold, such as the Google Nexus 7, and Microsoft Surface RT.
Looking to run postmarketOS on your own hardware? The best way to start is to check the Devices page and see how many of those old gadgets you’ve got collecting dust in a drawer are compatible.
Cool! I just got a Surface RT at a yard sale a few weeks ago for $10. I hope the install process is straightforward.
Looking forward to support for the Kindle Fire I got for $5 at the same yard sale.
I have been running Ubuntu with the Linux Surface kernel on a Surface Pro 7 for over 2 years. I don’t know if their supported list includes the RT.
Looks like Linux-surface is for intel cpu surface devices.
There is a Debian distro for that afaik
Beautiful initiative, bringing such service to the masses. Not that you can’t do it yourself with any other OS, but the general population can’t.
for most of these old phones, it’s easier to write android apps (and optionally switch to a cyanogen/lineage build) than to install postmarketos. depends on your exact needs but
Please let on a bit more about this. I have a few old phones, none of which are listed, that I would like to play with. They still have the old android on them. I do use them for guitar tuners, cameras, and one has an sd card full of tunes in it I use when I mow the lawn, but it would be nice to be able to break out and do more stuff with them.
Tough without knowing the specific devices.
XDA developers forums have all the info your looking for, just remember your looking for old information.
Also, I can’t attest to the difficulty or lack thereof for installing postmarket vs other roms.
That’s ridiculous. So instead of just writing a Python script and deploying it on a old phone running postmarket, I’m supposed to download the whole Android SDK and figure out a whole new language/environment?
Unless I’ve got to flash the bootloader by manually shorting out the TX/RX pairs on a serial line, there’s no way that is the path of least resistance.
If(hack == floor(resistance))
{
this(me).kill().Now;
}
Not wanting to conquer developing for the android ecosystem does not a lazy hacker make…
I would agree with that completely. It can be fairly straightforward with good instructions, there are usually a LOT of steps involved from my experiences. Making it do what you want it to on what you want it to is the part of the recipe that gets a bit hazy and funky without some gentle giants to help out. Heck, I developed quite a few things for Android over the years, but it doesn’t mean I am some sdk genius lol. I definitely get stuck and have to ask questions from time to time. Always fun to learn new things but always good to know your limitations to make choices about what projects might be fun or useful. Heck, just wait three months and someone will have forked it with some eazy peezy bootloader side load thingy lol then circle back and have fun :) I have done that many times.
i agree it’s a pain to download the whole android sdk and figure it out, though i’ve already sunk those costs. but i want to turn your narrative upside down.
instead of just using the android camera API and having a camera hack that i can use on any old or new phone, i have to hack the kernel to recognize the camera on it, and then figure out why sleep mode doesn’t work, and then can’t use it anyways because it crashes all the time?
when i read, “Now to be clear, not all devices will be fully functional. In fact, the blog post clarifies that some of them only barely boot.” i believe it. the people closest to the project wouldn’t be saying that if they had support for every peripheral on every phone. but the vendor-installed android *does* have support for every peripheral on every phone.
i have a tablet i was using as an alarmclock, but android became too slow for that function (!!!).
and postmarketos does nominally support that tablet, at least its display battery and audio.
so “all i have to do” is figure out how to get postmarketos to wake-on-timer, fight to get the best framebuffer and touchscreen access without installing gnome/kde (will i be able to use SDL over X11 or will some quirk push me in the direction of /dev/fb0, and does the touchscreen require finesse or does it show up rationally in /dev/input), find out how badly postmarketOS screwed up audio, and then write my own alarmclock app which i will then have to debug by waking up late. the worst part about that from my perspective is most of those steps could turn out to be impossible, or the tablet which has sat unused for 5 years could let out the magic smoke, and then all my effort would be wasted. having made it halfway through the battle to use my nexus 7 will be very little benefit to me when i switch to fighting with my old moto g4.
otoh, the stupid android hack i made to make use of my ailing moto x (RIP)…i can just copy that app to the moto g4 and i’m off to the races. part of my bitterness is that i’ve genuinely been through this. i’m still using the apps i wrote for android in 2010, but before that, i wrote a whole suite of apps for a couple different generations of pocket linux (culminating in maemo), which are now completely useless. they use open source things like gtk so they are still vaguely revivable but i remember what i had to fight with the first time, and i know it would not be easy.
depends on what phone you have and what you’re trying to accomplish but i don’t think postmarketOS provides a realistic solution for the actual problems i face when reusing old hardware.
“i don’t think postmarketOS provides a realistic solution for the actual problems i face when reusing old hardware.”
I have a pile of old Android 4 devices, I was thinking of trying to install micromamba, which has packages that are prefixed to their environment.
It’s might seem daunting, but you only have to do the ADB thing once per device to get the new OS onto the device. After that most have OTA upgrades.
I feel you don’t understand the whole point of the project.
Or maybe I don’t? Who knows?
Reusing an older phone doesn’t have to mean making an old phone work as a phone.
A phone from 2014 has better specs than most cheap modern dev boards, a touch screen, more ram, flash storage, radios, cameras, etc.
Having access to most of that hardware on a mainline kernal would turn a drawer of old waste into a bunch of useful things.
You can’t seriously believe it would be better to shoehorn something into an android 5.0 app.
At some point we shouldn’t be letting these older devices touch a network anymore without replacing the OS.
Tl;Dr
These devices may not be safe to develop for in their current state due to the ancient OS versions. And we don’t always need the phones to BE phones for them to be kept from a landfill.
“A phone from 2014 has better specs than most cheap modern dev boards, a touch screen, more ram, flash storage, radios, cameras, etc.”
How many of those features are actually usable though? A device might have all those features but as admitted by the project itself many of them might not be usable. Particularly the touch screen, display, camera and radio features are the most likely to be unusable. So what can you do then? You can use it headless and that is about it.
i want to be clear that there certainly are cases where i’m sure postmarketos is a godsend. but you pointed out the weakness: “Having access to most of that hardware on a mainline kernal would turn a drawer of old waste into a bunch of useful things.”
the problem is specifically that’s what postmarketos doesn’t/can’t provide. from quickly glancing at its compatibility matrix, even the most well-supported phones have some unsupported hardware in them. and most of them, the bulk of the hardware is unsupported.
if you want to use something super obscure (sarcasm) like the camera, power management, the GPU, or even on some devices the touchscreen sensor…then you will have an uphill or uneven battle. you might get lucky, or you might not. if you get lucky, and then the device fails and you switch to another one, will you get lucky twice?
android isn’t perfect but it’s basically solved this problem. if it’s supported by the android API then it’s supported by all phones and compatibility is a huge pain in the ass in some ways but also it really does work. most functions are available and most functions are compatible across a huge range of devices.
of course if you need one of the things android categorically forbids, then yeah you need to look for something else.
One less phone in the landfill is a good thing.
Then the best thing we could do is stop them from making more.
Months ago I’ve spent many hours trying to port common embedded Linux images to a proprietary obsolete industrial Allwinner A20 board, but came to nothing and had to abandon the project. The board comes with Android (4.2.2 if memory serves) preinstalled and already rooted, so I guess I could extract some information from within the system itself. So far I’ve tried all images I could find for other boards employing the same SoC (cubie*, bananapi*, orangepi*, nanopi*, olimex*, …) but no cigar. Any pointers on how to proceed with PostmarketOS would be welcome.
Have you tried Armbian ?
Armbian and DietPI were my first attempts. The board unfortunately is a old OEM product aimed at signage displays players, so nobody ever attempted to load anything beside the stock firmware on it.
Looks like there’s no port for an Allwinner A20 board yet:
https://wiki.postmarketos.org/wiki/Category:Allwinner
But you could do your own port. Get the kernel sources and do some research about how in theory you would boot another image on your board (from the SD card probably? there might be multiple methods). Then follow the porting guide to create device and kernel packages, turn on some kernel options, and build your first image:
https://wiki.postmarketos.org/wiki/Porting_to_a_new_device
If you get stuck, head over to the porting IRC/Matrix channel:
https://wiki.postmarketos.org/wiki/Matrix_and_IRC
When I first saw the logo I thought the Johns from Grovers Mill were at it again. I’ve got some old tech sitting in a container in the basement. Looks like it’s time to pull it out of storage.
I am currently using postmarketos on a Samsung Galaxy A 9.7 (~35€ on eBay) and I am really impressed! It’s was an amazing moment, when I first started an up to date Linux kernel on a device which was stuck with android 7/8! At the moment I’m using phosh as desktop.
What a cool project, nice to see this article on HN! Thx!
How well does it perform compared to stock Android? Is it faster?
Hi, I can’t really tell because I didn’t use it with the old android alot. But chromium runs well, doesn’t feel slow.
My idea for this tablet is an all in one “home assistant box”. (Server+GUI). I have to add docker kernel modules and compile, but that shouldn’t be a problem using pmbootstrap.
Honestly, I’m less concerned with performance than battery life. For a while now, phones have had more grunt than they strictly needed for many use cases. Ultimately, I can wait an extra second for an app to open. But if the phone dies partway through a day that’s kind of a showstopper.
may have to look into this. If there’s SD card support throwing a copy of syncthing on there and you have a quick and dirty backup box
That’s a fun idea!
I really like syncthing. I use it all the time for allaorts. I also have a Google nexus 7 sitting in a drawer. I feel an experiment coming on.
Absolutely nothing but respect to the contributors of this project.
On the other hand, this project would have been 100x less difficult if there was a standard ARM bootloader and boot process
Make sure the next device you buy comes with a well documented boot process.
I have a Samsung Galaxy Core Prime. been experimenting with postmarketos. some things don’t work. that’s ok. but how do I contribute to fixing them?
Thanks for considering to contribute! It depends on what exactly you want to improve. The package build recipes are here:
* https://gitlab.com/postmarketOS/pmaports
* https://gitlab.alpinelinux.org/alpine/aports
For example, the Samsung Galaxy Core Prime device package would be in device/testing/device-samsung-cprime/ in pmaports.git and you could create a merge request with an improvement there.
You can build modified packages on your PC with the development tool pmbootstrap:
https://wiki.postmarketos.org/wiki/Pmbootstrap#Building_packages
Other good starting points are the issue tracker of pmaports to get more information about what you are trying to improve (maybe somebody already worked on it or had some ideas), and the IRC/Matrix channels:
https://wiki.postmarketos.org/wiki/Matrix_and_IRC
Does postmarketos allow to run android banking apps?
pelrun doesnt know about emulation
Does your bank allow it or do they need obscurity “to protect their customers”?
For anyone wanting to try this out, I can recommend finding a OnePlus 6(T) for this. Hardware support is almost complete (except the camera, which does have active development atm), very capable specs: 8G RAM on snapdragon 845, and just an inch way from being my daily driver (last thing left for me is wakeup from s2idle for incoming calls).
Interesting, seems like worth to try.
Been using ubuntu and kali, maybe thi is the time to switch.
If Linux developer would focus fire making a proper dx12 interpreter with near 1 to 1 speed and they improved emulation for serious work related things to slowly ween people over and off windows they would really scare ms. as it is they are too busy showcasing how their shit has alternatives and whatever. that’s not how people work. they need to be gently pulled over while keeping what they know and they will then slowly let go of it. that’s how linux takes over the mainstream consumer. not by telling them they can use a Whittier version of steam that can’t run most shit