How Can Linux Fit in a Cellphone?

Of course we don’t really mean by physically squeezing Linux into a cellphone, as we would have to handle Tux instead of Linux for any squeezing to take place. To develop a visual representation in your mind, imagine your newly installed Ubuntu 8.10 with all its fascinating features. Now, try to imagine installing all that functionality into your phone. Is that possible? No. Not by a long shot.

Remember that we’re talking about YOUR CURRENT phone and Ubuntu 8.10.

But apparently it’s possible with some flavor of Linux as we’ve heard of Linux-powered cellphones and Linux-powered e-book readers. Now, since these devices have quite limited resources, i.e., smaller memory and smaller processors, compared to a typical desktop, it would be safe to assume that we could be talking about a stripped-down version of the Linux that we know of.

However, before we talk about these mini-me’s of Linux, let’s begin first by talking about the limited environments that are powered by these mini-me’s, environments that are better known as embedded systems.

Embedded systems

Embedded systems refer to a classification of computer systems that are designed to perform specific or limited tasks. The term embedded refers to the fact that these systems are embedded into a complete device.

Some examples include: MP3 players, PDA’s, digital cameras, DVD players, mobile phones, microwave ovens, washing machines, traffic lights, and factory controllers, among others. If you need more examples, I recommend which is my primary source of information when it comes to Linux-powered embedded systems.

As you can see, some of these devices, such as PDA’s and mobile phones, are able to perform multiple tasks. However, the volume and magnitude of these tasks are nowhere close to that of an ordinary desktop. It would therefore be impractical for such embedded systems to be equipped with processors and operating systems that power desktops.

Linux is not the only operating system for embedded systems. On the contrary, there are quite a number out there. Some of them are known as A/Rose, FreeRTOS, LynxOS, QNX, and ROM-DOS. In fact, Windows has two small operating systems that are also classified as embedded operating systems: Windows XP Embedded and Windows CE.

But since this is a Linux blog, then we shall concentrate on Embedded Linux.

Embedded Linux

Since there are many embedded operating systems aside from Embedded Linux, what would make you choose Linux over the others? Well, basically the same reasons why you’d choose Linux over others on the desktop: stable, virtually free, and supported by an open community. Other embedded operating systems require you to pay royalty and licensing fees. What’s more, you’d only rely on support from one company. And since it is open source, you are allowed to customize it to suit your needs. Finally, the open source community that supports embedded Linux is quick to come out with necessary drivers, a convenience rarely found in proprietary embedded systems.

So how does one strip down Linux to fit into a particular embedded system?

To start, you have to configure the kernel. You may use make config, make xconfig, and makemenuconfig. These tools allow you to choose which elements to retain as not all will be needed by your target system. For example, you can choose processor types and features or filesystem support. The user interface basically allows you to click ‘yes’ or ‘no’, as well as click on ‘help’ for a brief description on the particular item. Naturally, this would mean you should be familiar with the target embedded system or hardware to determine which features you should include.

You would also need to determine which drivers to include as well as what would be the maximum amount of memory the system can provide. In the end, you’ll get a Linux kernel tailor-made for that particular system which is always smaller than what you would need for desktops. Hence, for Linux to fit in a cellphone, you don’t need an entirely different OS. Well, it might be like squeezing-in Tux … minus the fats.

*image source:

Ooops! spilled some coffee on the kybozrd!


Anonymous said...

You forgot the most important hardware problem. You don't want to keep more than 2-4 watt device in your ear or it will burn. My Ubuntu
desktop computer takes up to 600 watts.

amiya said...

Pretty informative, dear John. Could you please write an article about the hardware of a SIM card? I mean, the resistors/ capacitors therein. A reference to an informative site will also do. My search on the web was futile. Thanks and regards.