JanOS is an alternative operating system for mobile phones, designed to run on devices without their screen attached. It was demonstrated as a proof of concept during JSConf.EU 2014. Shortly after it was chosen as the OS that powers Gonzo, a cellular connected and low-power camera. The project is maintained and funded by Telenor Digital.
It’s heavily based on Firefox OS, and currently only supports a relatively small number of devices. It’s open source, and the project’s goal is to make the ‘motherboards’ inside phones more useful and extend their useful lifespan.
Who hasn’t thought of using an old junk phone for IoT. I think the idea of turning old phones into IoT boards is perfect especially given the long term stock and pricing issues of raspberry PI and similar SBCs, It makes lots of sense just to use components that we already have a major surplus of: old phones. I love the idea and think the author makes a strong case for the project…
…however the problem has always been with bootloading alt-OS on android devices is a hell of fragmentation, boot locks, proprietary drivers, sometimes even needing exploits to get access to the bootloader. And unlike an SBC that boots off of removable media that you can flash in confidence, android phones can get bricked (I’ve been there). Unfortunately alt-os support on android frustratingly limited. and this project is no different: 3 fully supported devices. and 11 partially supported devices. This includes raspberry pi, but “not model 2!”. They’re mostly ancient phones that are statistically unlikely to come up in random scavenging.
So it’s a nice little project, but I’d have to buy more phone hardware (and risk bricking it), which to me defeats the primary benefit of it. This is really unfortunate, though I want to emphasize this is no fault of the author.
While it’s so disappointing that android phones & ARM more generally isn’t standardized for alt-os, I wonder if AI could actually help us here. Normally a human expert would need to commit time & resources reverse engineering and hacking devices & drivers, why not train an AI to do the heavy lifting? It would need to study the official images, reverse engineering the bootloader, drivers and whatnot. While it would be ideal, I’m not sure that a pure software analysis would be sufficient After even for a human developer, their first image is unlikely to get everything right. We need to test against actual hardware perhaps hundreds/thousands of times. The challenge is automating the entire process such that we don’t need to allocate an experienced engineer to reverse engineer every single model.
Pretty sure the main problem with using old phones for anything else is that the flash storage speed has slowed to a crawl by the time anyone is thinking about using it for something else. Not really that usable for anything at that point, and replacing phone flash storage is likely somewhere between very difficult and impossible.