Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum

Keywords: Match:
My Linux is smaller than your Linux
Rick Lehrbaum (updated June 11, 2000)

Unlike many realms of human endeavor, when it comes to designing embedded systems, the goal is often to use as few resources as possible. In embedded systems, less is more, in many ways. Using less resources means less cost, less heat generation, more battery life, more reliability -- and best of all, a more successful product.

During the past year, Linux has rocketed to prominence as one of the two or three most popular operating systems for new embedded system designs. Since "Embedded Linux" as a product is less than one year old, and given the common perception of Linux as a full-function server or desktop OS that requires hundreds of megabytes of disk space, it's no surprise that one of the most common questions about embedded Linux among developers is "How much RAM memory and disk space does an embedded system require to run Linux?"

There are two reasons why it's difficult to answer that question with a few simple numbers. First, Linux is open source. As a result, developers possess the tools to eliminate unnecessary functionality to match the requirements of a given configuration. Secondly, embedded systems are incredibly diverse, so there are almost as many required Linux configurations as there are unique embedded systems (and that's in the tens of thousands).

Understanding that embedded systems tend to be highly individualized, it's still nice to establish some general guidelines. The following data on RAM and disk (typically Flash ROM, in embedded apps) size requirements, provided by Lineo, are intended to represent miminum typical resource requirements for Linux in embedded applications. But remember, as the saying goes, "actual mileage will vary!"

Tim Bird, Lineo CTO, advises that "in making competitive comparisons between embedded systems, be sure to make those comparisons fairly." "For example," says Bird, "a vendor may state that their products work in 100 KB of RAM, when in fact that number is meaningless -- it does not include any networking, system libraries, or other core components necessary to create a working system." The following Lineo size estimates apply to complete working Linux systems (including networking capabilities), based on products offered by Lineo and its subsidiaries:
  • Rt-Control provides uClinux, a version of Linux for microcontrollers such as the Motorola 68k/ColdFire line, i960, ARM7, and ETRAX chips. uClinux is able to run full-featured in under 200 KB of RAM memory, with a 1 MB ROM chip (which serves as the boot "disk" from which the Linux image loads). [Editor's note: there are some limitations in the multitasking provided by uClinux, due to the lack of MMU. See writeup.]

  • FirePlug focuses on specialized Linux-based projects such as their Linux firewall. They build these using ThinLinux, which loads from as little as 2 MB of Flash disk and runs within 8 MB of RAM memory.

  • Embedix, Lineo's flagship product, can load a complete multitasking, networked Linux operating system from 2 MB of ROM/Flash and run in 4 MB of RAM memory.
According to Bird, these numbers reflect "generous minimum requirements for a complete working system." Bird adds that even less space may be necessary in some circumstances. On the other hand, adding special drivers and applications requires increased system resources.

MontaVista's Bill Weinberg takes a different tack on the question of low-end embedded Linux size. "Let me speak directly to the footprint issue itself," says Weinberg. "With the exception of entire systems-on-chip, when customers choose a 32-bit processor capable of running Linux, they're not going to then proceed to starve that CPU with too little memory and storage." "In other words," continues Weinberg, "the 'tiny' kernel is quickly becoming a mythical beast of the past, in light of today's low costs of 32-bit processors, RAM, and Flash."

Weinberg contends that realistic low-end requirements for Linux are in the range of 4-8 MB RAM space, and a couple of megabytes of Flash. "Embedded product developers are increasingly focused on adding value through enhanced software-based functionality, rather than expending a lot of effort to squeeze out features in order to save a meg or two of memory," adds Weinberg. With RAM and Flash memory prices in the range of a dollar per megabyte, and dropping continuously, that approach seems well justified.

Red Hat CTO Michael Tiemann, on the other hand, differs from the approach of both Lineo and MontaVista. Red Hat offers an alternative small-footprint operating system to Linux, called eCos. Regarding the difference between eCos and Linux, Tiemann explains that "they're like a motorcycle and a house trailer (or SUV). Let's say you take your trailer, towing your motorcycle, on a vacation. You drive to a mountain in the trailer. But when you want to drive up onto the mountain, you don't use the trailer, you switch to the motorcycle. eCos offers developers an opportunity to stay within the open source realm when the application isn't appropriate for Linux."

As for guidelines on which to use when, Tiemann advises "if you require less than around two megs of RAM, you probably don't need Linux. However, Linux is really a lot happier running with 4 or even 16 megs. So, in the range of two to four megs, it depends on the particular application." Interestingly, given the perception of Red Hat as "the Linux company", Tiemann recommends that developers of low end embedded systems try first to use eCos, and fall back on Linux only if eCos can't meet the need. "If you're coming at this question (of eCos vs. Linux) from a truly embedded perspective," says Tiemann, "I think a better way to think about it is 'can I use eCos?' Then, if you come up with a reason why it's impossible to use eCos, use embedded Linux."

That opinion doesn't appear to be shared by many. MontaVista's Weinberg, for example, characterizes eCos as "a mix of size and capability targeted at deeply embedded systems with a series of APIs that cover their varying needs, but that ignores customers' actual reasons for considering embedded Linux: openness, reliability, and compatibility."

"First," argues Weinberg, "although Red Hat makes eCos source available, it lacks real open source momentum. Second, although eCos mimics certain Linux/POSIX APIs, it's really 'just another RTOS' -- it doesn't offer the process model, memory management/protection, and security options that have given Linux its mainstream audience. Finally, users aren't looking for an additional fabricated standard (EL/IX) to 'unify' embedded Linux with eCos. Why should they, when the accepted standard is Linux itself?"



Do you have comments or questions on this article? Talkback here

(Click here for further information)


FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.

Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.

Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.

Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.

High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.

Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.

Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.

Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.

7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

Mobile phones!

MIDs, UMPCs
& tablets

Mobile devices

Other cool
gadgets



BREAKING NEWS

• LiMo to gain FOMA pack
• Quad-core PICMG board runs Linux
• DIY Linux service gains ultralight GUI
• Asus nettop gets discrete graphics
• Mapping the mobile open source ecosystem
• WiMAX deal "clears" Linux for takeoff
• HMI panels run Linux
• Nokia alludes to Linux phone plans
• Linux music phone boasts stereo mini-jack
• Nokia spins open Linux home automation gateway
• Qseven module sports Atom
• Open source phone gains "fat" distro
• Android phone launches in China
• Microsoft to bake own phone?
• Tux cashes in on paint


Most popular stories -- past 90 days:
• Open source phone goes mass-market
• Tinest Linux system, yet?
• Garmin Nav devices run Gnome Linux
• ARM9 board boots Debian in 0.69 seconds
• Low-cost laptop runs Linpus Linux
• Linux-friendly Beagle fetches $150
• Mini Linux PC breaks $100 barrier
• Open source camera records geotagged video to SATA HDD
• Open set-top box ships
• First $100 laptop runs Linux


DesktopLinux headlines:
• Linux gains FPS
• Ubuntu tops on desktop, but not servers
• Browser swallows OS
• Tutorial reveals desktop Linux security tips
• Fedora 10 first impressions
• 8,000 TuxTop models and counting
• "Moonlight" ready to shine
• Adobe unleashes 64-bit Flash
• Debian Lenny installer arrives
• Ubuntu announces ARM port


Also visit our sister site:


Sign up for LinuxDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.