Embedded Linux timeline

You will find Linux inside a wide range of devices today. Yet, it was not intended to be used as an embedded operating system at the beginning. In trying to understand how Linux moved out of the pure PC environment and into the fabric of our technology I have put together the following timeline showing what I consider to be the important milestones. I am aware that it is missing many details, and I would welcome feedback and comments from all who may read this. Either post a comment at the bottom or mail me at "chris dot simmonds at 2net dot co dot uk".

I had better start by defining what I mean by "embedded". I have decided to be fairly inclusive, taking in a combination of single-purpose, non-user-programmable devices (webcam, settop box, robot controller) and resource limited devices (PDA, smart phone, and, at the extreme end, tablet). The common characteristics are

  • cheap to manufacture
  • low power consumption
  • mostly non PC, non Intel architecture
  • no keyboard or mouse - but maybe a touch screen
  • not much ram
  • flash memory providing a modest amount of permanent storage

So, with that out of the way, here is the timeline.

1991
Linus releases Linux 0.1 as an open source Unix kernel for IBM PCs

1995
By the time Linux has got to version 1.2 it supports Alpha, i386, mips and sparc architectures. This is important both because it means that the source code is sufficiently modular to be ported to other architectures and because mips processors were becoming popular in low cost devices.

Bruce Perens begins the Busybox project to make it possible to fit a small Linux image onto a 1.44 MiB floppy disk and so make bootable install and rescue disks for the Debian distribution. Coincidentally, it was also ideal for generating small footprint Linux images for embedded devices, and it remains the base of very many embedded devices today.

1996
Linux 2.0 adds support for two more architectures common in embedded devices: m68k and ppc

One of the first companies to focus on embedded Linux, Timesys, is founded by Dr. Raj Rajkumar and Srini Vasan. Early emphasis on adding real-time capabilities. Alas, they decided to keep the changes proprietary - as binary modules - and so none of their work found its way into the mainline kernel and it has all been superseded now.

1997
Dave Cinege initiates the Linux Router Project (LRP) (http://en.wikipedia.org/wiki/Linux_Router_Project). LRP used Busybox to create a bootable Linux on a floppy disk which could turn a PC into a router for use in the home or small businesses. Some say this is the first real embedded Linux project. LRP was x86/PC centred, but lead via the "Arlan Wireless Howto" to Linux on the WRT54G and so to Linux on most home and commercial routers. Read David Täht's article about the significance of that here: http://the-edge.blogspot.co.uk/2010/10/who-invented-embedded-linux-based...

1998
Busybox maintenance taken over by Dave Cinege for The Linux Router Project (LRP). Cinege made several additions, created a modularized build environment, and shifted BusyBox's focus into general high level embedded systems

The Corel/Rebel.com Netwinder ships. The Netwinder is an ARM-powerd PC (so not really embedded!) that was an impetus to implementing Linux on ARM hardware (Red Hat to start with, then the Debian ARM port). Sold in WS (web server), LC (thin client), DM (developer machine). Later used for network management running OfficeServer. Still used in open source projects, but h/w long out of production. SA-110 cpu @275 MHz, 32 Mib RAM, 2 GiB hard disk.
For more info, see http://www.netwinder.org/

Kerbango 100E Internet radio announced, but never shipped as a product. It used a PowerPC (MPC823) running at 80MHz. Kerbango was bought by 3com in 2000, when the publicity and well-known backer helped to legitimise embedded Linux and helped to get Montavista (see below) started.

1999
Finally, the ARM architecture is added to Linux in version 2.2.0.

Montavista is founded by Jim Ready. Montavista, alongside Timesys, was important in propagating the idea of Linux as a viable embedded operating system.

Lineo is founded by Bryan Sparks. Lineo did not last as long as Timesys and Montavista, but also made important contributions to embedded Linux.

TiVo (http://www.tivo.com) announce their first generation DVR (Digital video recorder). TiVo was one of the first consumer products to run Linux. Under the hood, it had a PowerPC 403 processor, 16 MiB Ram and a 13 GiB hard drive.

Axis (http://www.axis.com) release the 2100 webcam. As well as being among the fist commercial products to run Linux, Axis contributed in two other ways. They created a robust file system for the NOR flash memory they used. It was called jffs (journalling flash file system) and later evolved into jffs2 which is used in a large number of devices through to today. Their second contribution was in developing the "microcontroller version of Linux", uCLinux, which was needed to run on their mmu-less ETRAX processor. The hardware spec for the 2100 was ETRAX-100 risc cpu, 8/16 MiB ram, 2 MiB NOR flash, uClinux 2.0.33. There is a mention of this at http://www.axis.com/25years/milestones.htm.

Software consultancy Denx (http://www.denx.de/) begin work on PPCBoot, merging code from fadsboot (Dan Malek) and 8xxrom-0.3.0 - (Magnus Damm). PPCBoot 0.41 released July 2000. Initially for MPC 8xx boards. PPCBoot evolved into U-Boot which is used to boot Linux on many millions of embedded boards today.

2000
Timesys launch Linux/RT 1.0, the first commercially-supported Linux with real-time extensions

Ingo Molnar and Andrew Morton begin work on the "voluntary preeemt patch", which reduces worst-case interrupt latencies by breaking up lengthy processing cycles in the kernel into smaller chunks and re-scheduling if an interrupt handler has set the "need_resched" flag. This work was eventually merged into the 2.6 kernel.

2001
jffs2 (sponsored by RedHat) appears in Linux 2.4.10, bring flash storage to mainline Linux

Robert Love begins work on the kernel preemption patch. It is largely complimentary to the voluntary preeemt patch and is another step in improving the real-time behaviour of Linux. Kernel preemption was adopted by Montavista in their MVL 4.0 release and became a standard configuration option in Linux 2.6

Sharp ship the Zaurus SL-5000D PDA running Linux 2.4.10 (provided by Lineo). It has a Strongarm sa-1110 CPU @ 206 MHz, 64 MiB RAM, 16 MiB NOR flash. Note that this is the developer edition (hence the 'D' in the product name). The first commercial Linux Zaurus was the SL5500 which shipped in 2002 (http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Device-Pro...)

2002
Linksys release the WRT54G wireless router. This is the first such running Linux and spawns a whole industry of Linux based home routers. The original WRT54G has a Broadcom BCM4702 processor (MIPS32 core) running at 125 MHz, 16 MiB RAM, 4 MiB Flash

Charles Manning announces the yaffs file system (http://www.yaffs.net/), which allows Linux devices to access NAND flash memory. NAND was new technology at the time, but has since replaced NOR flash almost completely. The yaffs version 2 file system (yaffs2) is used today in many Android devices.

2003
Linux 2.6 released in December. Includes both the voluntary preemption and preeemptible kernel real-time support as configuration options.

Motorola choose Linux and Java for their smart phones, beginning with the A 760 in SE Asia and later in 2004 the A 780 in the USA. This marks the start of Linux as a cell phone operating system. The A 780 used an ARM 925 chip (an Intel PXA270) at 316 MHz, had 48 MiB flash storage and a QVGA (240 x 320 pixel) touch screen. The Linux port was provided by Montavista.

2005
Ingo Molnar and others begin work on the PREEMPT_RT kernel patch which further improves the real-time behaviour of Linux, bring it close to hard real-time

2007
LiMo foundation formed to create a standard Linux cell phone operating system. LiMo is little known in the west, but is used as the basis of a large number of phones in SE Asia, especially Japan where it is very popular on NTT DoCoMo. LiMo founders include Motorola, NEC, NTT DoCoMo, Panasonic and Samsung.

2008
The first Android handset, the Google G1 (aka the HTC Dream), is shipped. It has a Qualcomm MSM7210A (ARM11) processor running @ 528 MHz, 256 MiB NAND flash storage, 192 MiB RAM, 3.2-inch touchscreen @ 320 x 480. Launched with Android 1.0 operating system which includes a (modified) Linux 2.6.25. Android has turned out to be the most successful Linux distribution so far.

Beagleboard launched (http://www.linuxfordevices.com/c/a/News/150-board-sports-CortexA8/). Beagleboard is a low cost - $150 - dev board that set a new standard for price and performance. It has an ARM Cortex A8 CPU (a TI OMAP3530 in fact) running at 600 MHz, 128 MiB RAM, 256 MiB NAND flash, HDMI video and USB 2.0 host and OTG and it has been immensely popular with professionals and hobbyists.

2011
Raspberry Pi announced, though not shipped until 2012 (http://www.raspberrypi.org/). The 'Pi follows on from the Beagleboard in many ways, setting an even lower price point - $35 - for only slightly less powerful hardware. What is really interesting, however, is the way it has gained attention outside the normal embedded space and been adopted as a platform for teaching computing in the UK and other countries.

It is announced that Tizen project will encompass and replace the LiMo, Moblin and Meego cell phone operating systems. The principal sponsors are Intel and Samsung. This article gives some background (http://arstechnica.com/information-technology/2011/09/meego-rebooted-as-...)

2012
Still waiting to see what is going to be the key embedded event of the year :-)

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Additional points

Hi Chris,

You might want to consider the effect that the silicon vendors have had on embedded Linux. We have a timeline that we present to our customers which really shows how embedded Linux has grown in popularity, largely in the last 10 years. One reason for this, I believe, because the SOC vendors have made it 'free' by virtue of providing their own SDKs to go along with their evaluation boards for their products. Unfortunately (or fortunately, depending on how you look at it), this has reduced the value of basic Linux support.

Other points I might add would be in 2008 which saw the launch of Beagleboard, the first ultra low-cost ARM-based SBC that was completely open-sourced with the objective of accelerating community software development for TI OMAP platforms. This has created competition in the market for all sorts of low-cost embedded development platforms like Beaglebone, Efika, Odroid, the i.MX53 Quickstart board, and the various Plug Computer projects.

Other developments include Linaro and the explosion of the use of Open Embedded.

Regards,
John Weber

The History of Embedded Linux

Hi Chris

A few fine points to add, at your discretion:

- Many Linux-based mobile phones shipped, especially in China, long before the Android-based G1, from Motorola, Birdstep, ZTE and others. The most important was the Motorola A1200 or "Ming" which captured about 1% of the Chinese market, a feat for a single device (see http://www.linuxfordevices.com/c/a/News/Motorola-debuts-next-Linuxbased-...). It first appeared in 2006 and was based on an Intel PXA270 XScale CPU. Earlier Motorola Linux phones included the A780, the ROKR and several others, dating back to 2003 or 2004 (I still have a Ming in desk drawer).

- in 1999, Kerbango was MontaVista's first-ever customer (just fyi - I was employee #8 or #9 at MontaVista in 1999). The device was based on a Motorola/Freescale PPC821 (860 family SoC)

- you mention the Linksys router in passing - it is also important in that during the acquisition of Linksys by Cisco that Harald Welte spearheaded the most visible (at the time) GPL enforcement action against Linksys for failing to disclose key portions of source code from that device, causing perturbation around embedded Linux IP that still impacts OEMs today (came up this morning in a call)

Other items to research and add
- proliferation of ARM sub-architectures and support over time
- some history of uCLinux
- mention of Carrier Grade Linux
- OSDL and the Linux Foundation
- the launch of OpenEmbedded, Yocto and other important projects changing the way developers source and build embedded Linux
- OpenMoko Linux-based handset project
- RTLinux from FSMLabs, and the patent wars over real-time sub-kernels (vs. RTAI et al.)

Best

Bill Weinberg

Re: The History of Embedded Linux

Thank you Bill, you mention some key things that should be included. I will do an update in a little while.
Chris.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.