1.1 Opensource Embedded Linux Implementations
1.2 Embedded Linux Commercial Distributions.
II. The Embedded Linux GUI reference
2.1 Open source Embedded Linux Graphics System Software.
2.2 Commercial\u? Embedded Linux Graphics System Software.
Linux PDA`s, currently there are two classes of linux distributions available, commercial and non-commercial sources.
Linux beeing open source supports wide range of PDA hardwares.
1.1 Open Source Embedded Linux Implementations :
The Embedded Linux implementations in this category are available as downloadable object and source code, and are covered by open source licenses. They target a range of needs and can be modified to fit the requirements of specific applications . . .
Embedded Debian Project : Debian GNU/Linux as mainstream choice for embedded projects.
ETLinux : complete Linux distribution designed to run on small industrial computers, especially PC/104 modules.
FREESCO an easy-to-use, open source alternative to commercial routing products that incorporates many of the features of the full Linux operating system into software that fits on a single floppy. Useful for creating reliable routers, bridges, and servers.
Linux-VR Project : this project provides a Linux implementation for NEC VR Series system-on-chip processors, most of which were originally designed to run Windows CE based handheld computers.
Midori Linux : an open source project for delivering system software on small devices. It includes a build system, a Linux kernel with memory- and storage- and power-conserving features, and system-level support for running normal Linux software on platforms which might otherwise require custom \u"embedded\u" applications.
uClinux : a derivative of Linux specifically for microprocessors which do not provide Memory Management Units (MMUs). Supports a growing list of processors including: Motorola DragonBall (M68EZ328), M68328, M68EN322, ColdFire, QUICC; ARM7TDMI; MC68EN302; Axis ETRAX; Intel i960; PRISMA; Atari 68k; and more all the time! This open source project is sponsored by Lineo. Running Linux on low cost, low power, MMU-less processors, uClinux DOES multi-task
µLinux (a.k.a. muLinux) : a \u"full-configured, minimalistic, almost complete, application-centric tiny distribution\u" of Linux, made in Italy. µLinux fits on a single floppy.
PeeWeeLinux : a small Linux distribution aimed at embedded devices. One of the goals of PeeWeeLinux is to make the configuration and installation of the Linux OS on an embedded platform \u"as painless as possible\u".
ThinLinux : a Linux distribution for embedded and dedicated applications, designed to be run on minimal Intel and PC-compatible hardware.
1.2 Embedded Linux Commercial Distributions :
Commercial Embedded Linux distributions are maintained and supported by companies as commercial products. They offer a wide range of capabililties and target a broad assortment of markets, from high-end telecommunications infrastructure, to handheld computers, to low-end embedded control.
AMIRIX Embedded Linux : derived from Debian GNU/Linux and tailored through addition of hardware-specific device drivers and system configuration tools. Supports small-footprint, diskless, Flash-based, headless system requirements.
Coollogic Coollinux : Coollinux AE (Appliance Edition) combines the power of embedded Linux and Java technology to deliver an operating system for the next generation of Internet appliances.
Coventive: XLinux fully featured embedded Linux kernel that can be configured to as little as 143KB for information appliances and embedded devices. Support: 586, 686, MediaGX, STPC, StrongARM, SH3/SH4, PA-RISC, ARM-7, and more.
Esfia: RedBlue Linux an Embedded Linux distribution for wireless communication solutions, derived from the pre-release Linux 2.4 kernel. It has a typical kernel footprint of 400K bytes and supports processors both with and without an MMU.
KYZO: PizzaBox Linux: a Linux and Samba based file, print, and CD Server designed to run from 6MB of Flash ROM on a 486 (or higher) CPU.
Lineo: Embedix an embedded Linux-based software solution that is engineered specifically for the unique speed, memory and storage requirements of embedded devices. Supports a wide range of CPUs with and without MMUs, including X86, PowerPC, ARM, MIPS, and more. Includes support for small-footprint, real-time (based on a choice of RTAI or RTLinux), and high-availability solutions.
LynuxWorks: BlueCat : a distribution of open source Linux, enhanced to meet the requirements of embedded developers, engineered to allow configuration to accurately match the requirements of embedded development, from small devices to large-scale multi-CPU systems and high-availability applications. Supports a wide range of CPUs including X86, PowerPC, ARM, MIPS, and more.
Mizi: Linu@ -- Linu@ is an Embedded Linux operating system with a GUI based on Qt/Embedded. Its efficiency and compact size make it well suited to Internet Appliance, Smart Phone, and PDA applications. Supported processors include ARM, StrongARM, MIPS, x86, and MPC. The OS requires as little as 2MB of DRAM and 4MB of Flash memory.
MontaVista: Hard Hat Linux the Hard Hat Linux Cross Development Kit targets a broad array of embedded CPU architectures board and system-level platforms for Internet appliances, portable devices, networking equipment, telephony interfaces, and other embedded and pervasive applications.
Neoware: NeoLinux an embedded Linux distribution that is derived from Red Hat Linux and is optimized for use in information appliances. Supports booting from local Flash memory or from a remote network server, and provides capabilities for remote system management.
PalmPalm: Tynux an Embedded Linux solution optimized for Internet Appliances including MP3 players, video players, Internet TVs, PDA/cell phones, Internet phones, Video conferencing equipment, Video phones, etc.
Red Hat: Embedded Linux Red Hat offers both runtime and development technologies for embedded and dedicated systems ranging from deeply embedded devices to high-end appliances. Specific technologies include Embedded Linux, EL/IX, RedBoot, uClinux, and GNUPro, plus custom porting and optimization services.
REDSonic: RedIce-Linux an embedded Linux distribution that supports numerous embedded single-board computers and can run from both DiskOnChip or CompactFlash media. Also provides real-time capabilities.
RidgeRun: DSPLinux an embedded Linux distribution and toolkit focused on multimedia, wireless, and broadband devices based on dual-core processors that combine an ARM core with a digital signal processor (DSP) core on a single chip. The DSPLinux kernel runs on the ARM, while real-time tasks run on the DSP.
SysGo: ELinOS Embedded Linux ELinOS is based on Linux Kernel 2.4 and thereby provides the latest Linux features such as Journaling Flash File System (JFFS), Memory Technology Devices (MTD), and extensive support for USB. Support for real-time tasks is available through the RTAI kernel extension.
TimeSys: Linux GPL -- a Linux distribution for supported embedded boards. Includes a low-latency enhanced Linux kernel plus libraries, tool chains, utilities, drivers, scripts, and documentation, all distributed under the GNU Public License (GPL). Additional options are available for improving system real-time, quality of service, and networking performance.
Tuxia: TASTE -- an embedded Linux distribution that targets Internet appliances including webpads, set-top boxes, thin clients, and screen phones. Encompasses a full stack of software components, including hardware drivers, Embedded Linux kernel, graphics engine, Java Virtual Machine, and application level code.
Vitals System: vLinux a port of Linux for ARM-based embedded applications. vLinux can also support non-MMU ARM processors, which are suitable for low cost designs for commercial production. vLinux currently supports Samsung\u's ARM core based RISC processor family; however, ports to additional processors are ongoing.
II. The Embedded Linux GUI reference :
Embedded systems frequently have unique needs that can\u't be met by desktop graphics system components. These include the requirement for a customized look and feel, control over what functions are available to users, speed of loading, unusual display or input device characteristics, etc.
To satisfy the demands of the rapidly emerging embedded Linux marketplace, a growing number of graphics support projects and products have sprung up. Targeted environments run the full gamut -- including fixed, portable, and mobile systems -- and the applications range from hand-held consumer products like PDAs and cell phones, to medical instruments, factory automation, and commercial airlines cockpit displays.
2.1 Open source Embedded Linux Graphics System Software :
DirectFB -- DirectFB is a thin library that provides developers with hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers on top of the Linux Framebuffer Device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware.
The Familiar Project : this open source PDA Linux project, which is an offshoot of the activities at handhelds.org, has collected together all of the key components of a complete Linux-based PDA computing platform. The Familiar distribution currently includes a Blackbox-based window manager, Agenda Computing\u's Fltk+ based PIM applications, an embedded Python implementation, system configuration and settings backup utilities, OpenSSH client and server, and a Debian-based ARM kernel.
GGI project : the \u"General Graphics Interface\u" project is dedicated to development of fast, stable, open-source cross-platform multimedia API systems. Designed from the ground up with environments such as embedded systems in mind, GGI is fast, clean, abstract, dynamically modular and highly optimizeable.
GtkFB : beginning with version 2.0, GTK+ will support rendering directly to the Linux framebuffer instead of using the X Window System. This is good for embedded systems and devices with limited resources, because it eliminates the overhead of an X server, while still taking advantage of the power of GTK+ and the large base of existing programs.
Microwindows : an Open Source project aimed at bringing the features of modern graphical windowing environments to smaller devices and platforms. Microwindows applications can be built and tested on the Linux desktop, as well as cross-compiled for the target device.
MiniGUI : an Open Source (GPL) project to create a small windowing system support library for embedded systems and devices, which offers the equivalent window management functions of Win32 APIs.
OpenGUI : a fast, 32-bit, high-Level C/C++ graphics & windowing library/GUI built upon a fast, low-level x86 asm graphics kernel. It is under LGPL license. OpenGUI provides 2D drawing primitives and an event-driven windowing API for easy application development.
PicoGUI : small, portable client/server GUI designed to work on many types of hardware including handheld computers. Like the X Window System, it has a flexible client-server architecture. Unlike X, however, fonts, bitmaps, widgets, and anything else the application needs are built directly into the server. This sacrifices a small decrease in flexibility for an increase in speed and a large decrease in size.
Qt/Embedded : provides a full graphics stack, from the hardware interface to a full GUI tookkit. Although the API is identical to the popular Qt/X11 and Qt/Windows products, Qt/Embedded is not based on X11 and therefore it has substantially reduced memory requirements. Memory demands can be tuned to the range of 800 KB to 3 MB in ROM (Intel x86). Qt/Embedded is available as open source software, under the GNU General Public License (GPL), or can be licensed on other terms from its originator, Trolltech.
Simple DirectMedia Layer : an open source cross-platform multimedia development API/library designed to provide fast access to the graphics framebuffer and audio device. SDL is currently being applied to a number of Embedded Linux implementations such as Microwindows. details
Tiny-X : a small footprint X Window server implementation for embedded systems. It was developed by Keith Packard of the XFree86 Core Team, sponsored by SuSE. The goal was to create something that would work well in a small memory footprint and, importantly, be robust in near out-of-memory situations. Typical X servers based on Tiny-X can fit in less than 1MB on x86 CPUs.
ViewML : a freely available, open source web browser targeted specifically at the embedded Linux platform. Currently, ViewML along with it\u's interface requires 2.1 MB of RAM, with a disk image of only 760K.
2.2 Commercial\u? Embedded Linux Graphics System Software.
Trolltech: Qtopia and Qt/Embedded -- Qtopia is a mobile device window environment and application suite for PDAs, palmtop computers, Internet appliances, and similar devices. Qtopia is based on Qt/Embedded (described above), and includes PIM applications, Internet clients, entertainment and games, utilities, and more.
ANT: Freesco browser a small memory footprint, standards-compliant JAVA based browser that enables OEMs to quickly and easily design a branded interface for Internet appliances. It is platform-independent, so it can be used with any hardware or operating system environment (including various implementations of Embedded Linux).
Century Software: PIXIL PDA and Microwindows -- a complete PDA system including an operating environment, PIM applications, email client, web browser, and a set of multimedia applications. The Microwindows graphical windowing system (described above) is at the core of the PIXIL PDA solution.
Metrolink: Micro-X a fully X11 compatible standards-based X server for use in embedded systems and consumer electronics. Micro-X can be configured as small as 600 KB and is custom engineered to exact application specifications.
Swell Software: LinuxPEG LinuxPEG is an embedded GUI library and development toolkit designed specifically for embedded systems. The LinuxPEG library is designed to run on any Linux distribution and its development tools run in the X11 development environment. LinuxPEG, which is available under license, is small footprint, completely ROMable, includes full C++ source code, and is royalty fee.