I was looking at an old cell phone yesterday. Has a keyboard. Display. Networking.
The question came up: Could you run Linux on it? Could it be turned into a ‘disposable system’ of some kind? It already has an SD slot as well. Besides, even though it was a several $Hundred LG phone a few years ago, it is now considered “a brick” due to the size and weight. Old cell phones are available at ‘near zero’ cost. So as a ‘place to play’ are pretty cheap.
Some even have a USB port, so the lack of things like networking to traditional IP based ethernet networks could be just one USB ethernet dongle away.
I knew that long ago some folks who were “In The Valley” here in Silicon Valley had played with phones and the OS on them. (Heck, I was Director of I.T. at a company that made a little communications device that was planned to integrate into cellular services. Folks had cell phone guts on their desktops from time to time.) Unix started as an operating system for telco equipment at AT&T, so has the facilities built in. Linux as a ‘work alike’ has picked up much of those features too. I’d also heard a few years back about various folks putting Linux on a cell phone.
Lately Google had been pushing Android, that is Linux based, but I’d not paid much attention to “How much of a Linux?” nor to “How much success?”.
But it had “been a while” and I’d been only looking at non-phone platforms recently.
On a ‘first look’, the amount of “Linux Cellphone” stuff going on is surprisingly large:
One site is dedicated to listing various “Linux Devices” and has a long list of them with photos and descriptions:
Broader searches find a whole lot more:
Has about 94 Million hits (per Google, that tracks you…)
And more show up under the alternate spelling / word break:
Even restricting it to DIY finds a bundle. About 12 Million links:
Clearly this topic as “moved on” from where it was a decade or so ago ;-)
There’s a lot there to dig through. So this posting is more just a “Topic Opener” and place to put some interesting links as I figure out how best to wade through this pile.
The “topic” spreads out in a couple of directions.
One is “roll your own phone”
Another is “Linux as the telco provided Cell Phone OS”
Then there is “Linux added to the cell phone with the OS”
So any of those have the potential to turn the hardware / OS into a more general Linux box and secure it against prying.
The Linux Platform Driven Cell Phones
There are vendors of commercial cell phones that already use Linux as their operating system. Biggest name out there is Android.
Android is a Linux-based operating system for mobile devices such as smartphones and tablet computers. It is developed by the Open Handset Alliance, led by Google, and other companies.
Google purchased the initial developer of the software, Android Inc., in 2005. The unveiling of the Android distribution in 2007 was announced with the founding of the Open Handset Alliance, a consortium of 86 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. Google releases the Android code as open-source, under the Apache License. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android.
Android has a large community of developers writing applications (“apps”) that extend the functionality of the devices. Developers write primarily in a customized version of Java. Apps can be downloaded from third-party sites or through online stores such as Google Play (formerly Android Market), the app store run by Google. In October 2011, there were more than 500,000 apps available for Android, and the estimated number of applications downloaded from the Android Market as of December 2011 exceeded 10 billion.
Android became the world’s leading smartphone platform at the end of 2010. For the first quarter of 2012, Android had a 59% smartphone market share worldwide, with a 331 million devices installed base and 85 million activations or 934,000 per day. Analysts point to the advantage to Android of being a multi-channel, multi-carrier OS.
The software can be downloaded and there is even an “Open Handset Alliance”. All good stuff.
And while Android had dramatically strayed from Linux on some key issues (like power management and how “locks” were managed), as of March 2012 it looks like they have re-merged to more common code / methods.
But it isn’t just Android any more:
Roll Your Own Phone
This approach glues a cell phone module onto a linux computer board. While this lets you have a more general purpose computer like platform, with telephone communications built in, it is less of a ‘fits in your pocket’ phone. Still, for a ‘portable workstation’ that could link via cell phone services to the internet, or that could tunnel a VPN through the cell service, it has potential. More for the DIY hacker wanting to build a known ‘ground up’ system with known control of all parts. This one uses the commonly available BeagleBoard computer as the base system hardware:
This site explores the ability of cell phones to use Bluetooth (so why plug in parts that can just be near each other?):
If a little less hard core about it, there’s a ‘middleware’ oriented site that lets you put your Apps on a phone, without necessarily doing the whole thing. The link is down at the bottom of this page that lists various Linux based phones and has some links to docs.
Then there is a “project” that has code to let you use your Linux phone as a ‘terminal’. I haven’t dug down into it yet, but the top page looks like it lets you have a “text based” terminal interface to generic Linux features (though perhaps a limited set) but including the text based browser Lynx and email. Enough for building a secure communications layer, if desired. (Just add an encryption and VPN layer).
Ubuntu And More
It also looks like others are getting on the Linux Cell Phone bandwagon, with an article that says Ubuntu is available:
And the process of having a full fledged Linux might be as simple as plugging in a keyboard and monitor:
For years, tech pundits have speculated about the merging of phones and desktop computers, with Motorola’s line of Webtop accessories only the latest in a series of products. Now Canonical has stepped in with what could be the most comprehensive attempt yet: Ubuntu for Android, which the company says launches a full desktop OS experience whenever you connect your phone to a computer screen and keyboard.
In this mode, Ubuntu works exactly as it does on a regular PC, with the same Unity UI and access to certified applications including Chrome and Firefox—except that your phone is now standing in for a bulky CPU tower. Otherwise, Ubuntu for Android stays invisible; when you’re out and about, your phone works just like a normal Android phone. Canonical says that all data and services stay consistent between the Ubuntu and Android environments, including contacts, SMS, and voice calls.
The desktop mode also works with Windows applications in virtual environments, and with its various enterprise hooks, could eliminate the need for IT departments to manage separate phones and PCs for each employee. Ubuntu for Android will supports HDMI, USB, Google Docs, and 4G LTE data, among other things, and Canonical says wireless carriers can load up branded applications and services as part of the Ubuntu desktop.
Still left open would be the question of how secure is the platform. That is, if taken by a Police Agency, is it a “Chatty Cathy” with a lot of log file and contact information held for them to view; or can it be made a system where what I’d call “disruptive collapse” happens. Disturb some key factor (like power, or a blown login password, or a chip eject) and it becomes bare hardware that has nothing to say about you, or what you do.
Still, more promising as a path to security than a “start with silicon and make some chips” approach ;-)
Then there are more showing up:
1. Boot to Gecko
Perhaps most notably, Mozilla–maker of the popular Firefox browser–announced this week the new Open Web Devices platform for smartphones based on its Boot to Gecko (B2G) project. With Boot to Gecko, Mozilla aims to build a complete, standalone operating system for the open Web, and it has put Linux at the heart of that. While B2G uses some of the same low-level building blocks that Android does–including the Linux kernel–it is not based on Android, and deliberately so. With support from Telefónica, Adobe, Deutsche Telekom, and Qualcomm, the Open Web Devices effort promises to bring a new kind of Linux to the mobile world.
Also coming out of Mobile World Congress 2012 have been not just one but two advances for the competing Tizen platform. Tizen, you may recall, is the Intel-backed open source project launched by the Linux Foundation in September. Since then we’ve seen a preview of Tizen’s source code and we’ve seen some considerable interest from Samsung; this week, up-and-coming device maker Huawei has jumped on board, and a beta release of the Tizen platform source code and SDK have made their debut. The beta release features an updated UI framework and Web APIs for easier development of rich Web applications, the Tizen Association says, while the SDK features support for Windows as well as Ubuntu Linux. Huawei, meanwhile, says it plans to create and commercialize Tizen handsets for a range of markets. What that will ultimately mean, of course, is mobile Linux in yet another form.
3. Ubuntu for Android
Speaking of Ubuntu Linux, let’s not forget its debut running alongside Android on upcoming smartphones. Offering a full desktop experience when the mobile device is docked, Ubuntu for Android will come preloaded along with Google’s platform on participating smartphones. That’s nothing short of a double dose of Linux on a single device.
Then, of course, there’s also Linux-based webOS, which appears to be marching along nicely, with a brand-new browser being added earlier this month. I haven’t heard any webOS news coming out of Mobile World Congress–it won’t be fully open sourced until September, after all–but it’s another one that’s definitely worth watching.
Either way, I think it’s really interesting to see how Linux is spreading throughout the mobile world.
Apple’s iOS currently accounts for 54 percent of the mobile/tablet operating system market, according to Net Applications’ January data, while Android claims 18 percent. I can’t wait to see how things look in another year or two.
So while my first thought was just to find out “how hard to get something usable?” that is instead an embarrassment of riches and the (in some ways harder) decision of which path is the better one through so many choices.
The “goal” is to make a ‘disposable computer / communicator’ that is reasonably provably secure and that has volatile memory contents and with any private data held encrypted (and with the decrypted state – i.e. opened files – lost on any simple disruption like chip eject / power loss / shutdown / time out.) To have it also able to make VPNs to other cooperating IP addresses and tunnel a “dark net” through that VPN for the sharing of data in a secure manner ( such as to your desk machine at home when on the road).
Frankly, it looks to me like there are dozens of options and finding the best and easiest path will be as hard as actually making the system. (But the more effort put into the selection, the less that will likely be needed in the assembly…)
At this point, I intend to continue with the idea of a RaspberriPi (or BeagleBoard depending on availability) based “home” system that is in the sub $100 range, has the OS on an SD card (so a new one can be flashed from DVD / CD / whatever; and loaded any time you want to assure no “tools” or malware have crawled into your OS). Private data on a USB dongle or thumbdrive and encrypted with TrueCrypt (such that a device eject or powerfail has a fall back to encrypted data only).
That effort can go forward fast, and at low cost both in money and in “mindshare” and digging through code and feature sets (for both hardware and software).
In parallel, wandering through a LOAD of pages on various Linux Cell Phones (Android and not) while figuring out what platform makes an equivalently secure platform, but perhaps a bit more mobile (and looking less like a PC Card plus plastic spaghetti and a bit more like a common pocket device…) Eventually there ought to be a “better way” down that path. It might be as simple as just reading up on the security level on Ubuntu and assuring that a removable data chip and encryption can be supported.
Anyone else who wants to “Dig Here!” and make suggestions, feel free to start “hitting the links”!