Tux
Communication
Mailing lists
Documentation
User Manual
Target board info.
Target chip info.
Support
Linux support
Bugzilla
Downloads
STLinux
Updates
Search
Google


The web
stlinux.com
Links
External Links
ST Logo

Linux for Beginners


Linux Online

Linux Online There are more Linux sites on the Internet than you can shake a stick at. However for complete beginners the Linux Online site is a good starting point. It is good way to become familier with some of the `Linux culture', learn about some of the personalities in the Linux community, and find documentation about how to get your system up and running. In particular this is where you will find the Linux Documentation Project.

Linuxnewbie.org

Linuxnewbie.org logo If even Linux Online looks too advanced, you may be better of starting with Linuxnewbie.org. Rather than just distributing the standard Linux documents, they provide a growing collection of specially written texts aimed at the novice user. It describes itself as:

Linuxnewbie.org is 'the place' for people that are transitioning to Linux from Windows and are having a hard time learning how to operate, install, and getting around the OS. At LNO we do more than help newbies, we help *people* get better with linux.

OpenSource.org

OpenSource.org logo One of the critical aspects of Linux, and the many other pieces of software which are used with it, is that it is Open Source. This has massive implications for how software is developed, distributed, and financed. OpenSource.org is the web site of the Open Source Initiative (OSI), and while obviously an Open Source proponent, it discusses some of the ramifications of using Open Source Software.


Linux for SuperH


SourceForge

SourceForge logo The Linux for SuperH project is being worked on by many people all over the world. To help coordinate their efforts, we are making use of SourceForge. This provides us with web and FTP hosting facilities, and most importantly, a shared CVS repository, which allows multiple developers to work simultaneously on the same source tree.

For more details of the project at SourceForge, please visit:

  • The project Homepage.
  • The Project Page on SourceForge, which gives access to the mailing list archives, details of how to access the CVS repository, and bugs lists etc.

Linux News Sites


LinuxDevices.com

LinuxDevices.com logo

If you are looking for more generic information on the use of Linux in embedded systems, a good starting point is linuxdevices.com. As well as news stories, and reports on events in the embedded Linux community, this site also features articles, quite often written by Linux luminaries.

All Linx Devices

All Linux Devices logo

Another news site focused on Linux in embedded devices is All Linux Devices. This is part of the wider Linux coverage from the large internet.com news stable.

SiliconPenguin.com

The siliconpenguin.com site tends to be focused on providing links to other companies, projects and software, and as such can be a useful starting place when starting a search.


Embedded Linux Groups


The Embedded Linux Consortium

Embedded Linux Consortium logo

The Embedded Linux Consortium is a "trade association whose goal is the advancement, promotion and standardization of Linux throughout the embedded, applied and appliance computing markets". Most of the major distributors and companies involved in embedded Linux are members.


Japan Embedded Linux Consortium

The Japan Embedded Linux Consortium (english version) is also fostering the use of Linux in embedded applications in Japan.

CE Linux Forum (CELF)

CE Linux Forum

(Added 1st Jul 2003) The CE Linux Forum (CELF) is a group formed by eight of the largest consumer electronic companies. They aim to encourage the use of Linux in consumer electronic devices, by providing standards which they want Linux providers to comply to, and provide a feed back mechanism to the open source development community on features which are required for CE devices.

An article appeared in Software Development Times, discussing the various efforts to standardize Linux for the embedded market, and focusing on the CELF.

Linux International

Linux International

(Added 1st Jul 2003) Although not directly focused on embeddeded applications, Linux International "is a non-profit association of groups, corporations and others that work towards the promotion of growth of the Linux operating system and the Linux community."

Free Standards Group

Free Standards Group Logo right

(Added 6th Sep 2005) The Free Standards Group is an umbrella organisation which coordinates standards for free software. Probably most important for Linux users is the Linux Standard Base (LBS) which defines standards for Linux distributions, making it easier to write applications which are easily portable to multiple distributions. This incorporates the earlier Filesystem Hierarchy Standard (FHS).


Embedded Distributions and Support


MontaVista

MontaVista logo

MontaVista are probably the largest independant Linux distributors who specialise in embedded systems. Even if you are not using one of their distributions, this web site is interesting because it frequently contains articles describing why Linux is a good operating system to use in embedded systems.

metrowerks

metrowerks (which is now part of Motorola) are a major provided of tools to the traditional embedded market. Through their aquisition of Lineo, they moved into the provision of tools for the Linux market.

LynuxWorks

LynuxWorks logo

LynuxWorks (formerly Lynx Real Time Systems) offer a Linux distribution called BlueCat Linux, along side their traditional LynxOS RTOS.

Wind River Systems

After initially being sceptical about Linux, and backing the use of BSD, Wind River have recently become converts to Linux. They are now working with RedHati to provide RedHat Linux for the embedded market.

Others

There are numerious other companies offering embedded Linux solutions taylored to one market or another. Some of these include TimeSys (who are mentioned below in the realtime section).

Codepoet Consulting

Although only a small Linux consulting company, Codepoet Consulting support two projects which are widly used in embedded Linux projects:

B u s y B o x
BusyBox a useful tool for embedded systems, as it includes many standard utilities in a single executable, reducing the size of file system needed.
u C l i b c
Also useful for embedded system is uClibc, a version of the C runtime library which is designed for use on small memory systems.

Emdebian

Emdebian logo As well as commercial companies producing embedded distributions, the Debian project is supporting the development of an embedded distribution called emdebian. Debian is unusual in Linux distributions in being a non-for-profit organisation, which develops and sells a Linux distribution.

Reviews

linuxdevices.com have started reviewing some of the available embedded toolkits, so far they have reviewed Lineo's Embedix and MontsVista's HardHat.


Graphics Systems


Microwindows

Microwindows is a windowing system designed for use on embedded devices. Two API's are supported, a Win32 style API and an Xlib API (which is called Nano-X).

Swell Software

A commercial company Swell Software produce a embedded GUI for Linux called LinuxPEG.

ViewML

ViewML logo

ViewML is a web browser targeted at embedded Linux. It is being developed as an open source project, and is claimed to fit in 2M of RAM. This is an interesting project because it levers from a lot of other software, including the KDE HTML rendering engine, and Fast Light Tool Kit. It runs on both Microwindows and X.


Handhelds


LinuxCE

LinuxCE logo

The LinuxCE projects is dedicated to porting Linux to a number of devices which were designed to run WindowsCE, primarily PDA type devices. This is something of an umbrella for a number of other projects, however it primarily concentrates on MIPS processors, including the LinuxVR projects which is porting Linux to the NEC VRSeries devices, (for example the Vadem Clio and the Casio E-105).

Agenda

Agenda logo

A number of handheld devices have been announced recently including the Agenda VR3 from Agenda Computing. This includes all the usual PDA software (diary, notebook, address book etc), and uses handwriting recognition for input.

Like many other Linux companies they are supporting development of applications through their developer zone.

HandHelds.org

HandHelds.org logo

For some time Compaq have been supporting the development of Linux (and other open source operating systems such as *BSD) for their handheld devices. Currently they are doing this for the iPAQ, through the handhelds.org web site. This attempts to be a vendor neutral site, although the only other machine mentioned is the Samsung YOPY.

PocketLinux.com

PocketLinux.com logo

Another project is PocketLinux.com which is offering Linux customised for handheld devices. This is unusual in writing most of the applications is Java, using the Kaffe virtual machine, and XML.

Pocket Linux Workstation (PLW)

Another company called Arizona Cooperative Power are working on a project called the Pocket Linux Workstation. This is:

An Open Source, custom Linux embedded platform small enough for your pocket and powerful enough for your workstation.

Hi-Muse

Hi-Muse logo

The French company Future Sound Technologies have demonstrated the Hi-Muse, what they call "the ultimate music appliance", a portable device which can play, record and store music from multiple sources, including CDs, radio and the Internet. For more details see this article from linuxdevices.com.


Video Under Linux


(Added 18th Jun 2003) Video for Linux resources Lots of links to projects which are using the V4L APIs in lots of different ways.


Media Players


Overview

(Added 18th Jun 2003) Many Linux media players tend to use a layered approch, where the GUI is specific for the player, but the codec libraries are shared by many projects. For example, this is the organisation of a few common systems:

GUI Goggles
oKle
Sinek
Kxine
KMPlayer
GMencoder
AcidRip
Plugger
VideoLAN
Player Ogle xine MPlayer
Libraries libdvdread | libdvdcss | ffmpeg | MAD | libmpeg2 | FAAD2

A useful side for information about DVD playback under Linux is DVD.sf.net.


Players


MPlayer

(Added 18th Jun 2003) One of the most popular appears to be mplayer. As well as software decoding of numerious video and audio formats, it can talk to hardware overlays planes of various graphics cards (to avoid the overhead of software scaling and colour space conversion), and a few hardware MPEG decoders.

A large number of front ends are available for different environments

A nice article about the history of mplayer and one users experience of using it is available from O'Reilly.

xine

(Added 18th Jun 2003) The other popular player is xine. Again lots of formats supported, support for plugging in various modules for input, decoding and output, and can be used as a library with a separate front end (many of which are avilable).

VideoLAN

VideoLAN

(Added 18th Jun 2003) VideoLAN allows you to stream various video formats (including MPEG-2, MPEG-4, and DivX) from various sources (including DVDs, digital satellite channels, digital terrestial television channels and live video) over an IP based network. Support is provided for unicast or multicast. VideoLAN also features a cross-plaform multimedia player, VLC, which can be used to read the stream from the network or display video read locally.

Ogle

Ogle

(Added 18th Jun 2003) Ogle has been developed by students at Chalmers University of Technology and is distinguished by supporting the DVD navigation controls.

DVD player

(Added 18th Jun 2003) DVD player supports the playback of DVDs using the MPEG decoder on the DVB card.

Xine-DVDNAV

(Added 18th Jun 2003) Xine-DVDNAV project, which aims to support DVD navigation features, initially for use in xine, but uable by other players.


Hardware Codecs


MPEG encoding

(Added 18th Jun 2003) Details BMK-Elektronik have a plug in PCI encoder called the MPEX based around a Philips chip. Linux drivers are available from the LinuxTV site which present the encoded stream as a transport stream under V4L2.

IvyTV

(Added 18th Jun 2003) IvyTV project is adding support to Linux for the iCompression iTVC15 or Conexant CX23415/CX234 familiy of MPEG codecs. The V4L2 API is being supported, but this has been extended to add support for hardware video encoding.


Software codecs


FFmpeg

FFmpeg

(Added 18th Jun 2003) FFmpeg is a library which can be used to "record, convert and stream audio and video". It is used by a number of the popular Linux media players, such as mplayer and xine.

libmpeg2

(Added 18th Jun 2003) libmpeg2 is a software library for decoding mpeg-2 and mpeg-1 video streams. The code is portable so runs on various architectures, but hard optimised routines can be slotted in where speed is required, improving performance considerably.

mjpeg

mjpeg

(Added 18th Jun 2003) mjpeg is a library and set of programs for the manipulation of video images under Linux. MJPEG (Motion JPEG) is a simpler format than full MPEG, and is often produced by TV capture cards, web camers etc. This library supports the manipulation of MJPEG streams, and the eventual conversion to full MPEG if required.

XviD

XviD

(Added 18th Jun 2003) XviD is an ISO MPEG-4 compliant video codec.

LAME

(Added 18th Jun 2003) LAME high speed and high quality MP3 encoder.

XMLTV

(Added 18th Jun 2003) XMLTV project to extract TV listings from various sources (mainly web pages), convert them into an XML representation, and display and process them.


Codec Infrastructures


JACK

JACK

JACK is a framework which allows a number of different applications to connect to a single audio device.



Digital TV


DVB capture

Various devices are available which are supported by Linux. A list is available from LinuxTV.

Most popular is the so called `Siemens DVB card' which uses standard audio visual components from Texas Instruments, and a Philips PCI interface.

Boards compatible with the origional one are now available from various manufacturers, including Hauppauge, Technotrend, Galaxis and Technisat.

linuxdvb.tv

www.linuxdvb.tv provides more information about using a DVB card with Linux.


Similarly linuxstb.org provides some information about using DVB cards to produce a Linux based set-top-box.

LinuxTV.org

LinuxTV.org logo

LinuxTV presents itself using the banner:

TV is dead: This is LinuxTV

This site is a platform for the development of open source software for digital television (DVB, DTV) receivers, Linux DVD players, and tools to stream audio and video to the net. It is dedicated to ensuring that the sourcecode for the software to do all this is freely available.

In particular they are working with Nokia to define a standard interface to DVB systems. Documentation is now available from the web site. The system appears to sit alongside the Video4Linux (V4L) API, using different devices for tuning, filtering and playback/recording of the compressed data stream.

Nokia demonstrated their Media Terminal at IBC 2000. This is based around an Intel Celeron, runs Linux and Mozilla, and provides DVB and MHP compliant platform. Nokia are trying to establish the APIs which run on this box as standards, and to further this have set up the Open Standards Terminal Developer Network web site.

A partner site to this one, which has recently appeared, is LinuxSTB.

LiViD

LiViD logo

Another group working on Video systems for Linux is the LiViD (Linux Video and DVD) project. Again this is an umbrella organisation for several projects working on video systems, primarily for desktop machines, but also concentrating on trying to get interfaces standardised.

TVLinux Alliance

TVLinux Alliance logo

(Added 7th Sep 2001) The TVLinux Alliance is a consortium of most of the leading names in digital video appliances (including STMicroelectronics!), which is attempting to standardise the interface which middleware applications use to talk to hardware. Still very little information available however.

TiVo

TiVo logo

Probably the most famous embedded Linux application is the TiVo hard disk video recorder. It also offers a subscription service which includes an EPG, and automatic recording of your programmes which should interest you. They have made available the sources for their modified kernel, as required by the GPL.

(Updated 7th Dec 2002) Of course because it runs Linux, TiVo boxes have also attracted various hacker's interest, trying to extend and upgrade the boxes. You may want to have a look for further information on the TiVo community forum, the Hacking the TiVo FAQ, and this piece on Slashdot (unfortunatly because of the 'Slashdot effect' the forum links in that article have had to be removed, but some of the comments are interesting).

(Added 7th Dec 2002) There is also the TiVo web project, which "is designed to give you a web interface to your TiVo using Open Source software".

REDSonic

REDSonic provide a Linux based set-top-box with PVR functionality.


PVR Projects


(Added 18th Jun 2003) An overview of PVR type projects appeared in Wired.

(Added 18th Jun 2003) Another article appeared in Linux Journal entitles Approaches to a Linux PVR.

Video Disk Recorder (VDR)

VDR

(Updated 18th Jun 2003) The VDR project run by Klaus Schmidinger describes how to build a digital sxatellite receiver and video disk recorder.

mythTV

mythTV logo

(Added 4th Apr 2003) And another project doing this is mythTV. This supports pausing of live TV, then fast forward and rewind of the recorded stream, and streaming of video streams across the network.

Media-BOX

A similar project is the Media-BOX. This has slightly different objectives, of allowing a PC to be used as a video jukebox. This doesn't handle any of the decryption/decoding issuses, and is primarly a user interface onto existing programs.

Freevo

Freevo logo

(Added 4th Apr 2003, Updated 18th Jun 2003) Freevo is an open-source digital video jukebox (PVR, DVR) based on Linux. Acting as a front end to various other packages, it allows for watching live and recorded TV, DVD, CD and media file playback.

Kvdr

(Added 18th Jun 2003) Kvdr provides a simple KDE based interface for recoding and playback from a DVB card.

WebVCR+

WebVCR+

(Added 18th Jun 2003) WebVCR+ is much simpler application which acts as a front end to command line based video recorder applications, most of which use the capture facility of V4L.


xawtv

(Updated 18th Jun 2003) xawtv is a simple set of applications for controlling a Video4Linux (V4L) system. Applications are available for X11 and the Linux console framebuffer device. Supports use of Xvideo if available. Can use V4L capture facility to generate MJPEG movies.

Video4Linux

Many of the video applications being built using Linux are using the Video4Linux (V4L) API. This provides access to the video facilities of many graphics cards, can control TV and radio cards, and extract teletext and other VBI data. A new and incompatible version is currently being worked on, V4L2.

VIDIX

(Added 18th Jun 2003) VIDIX VIDeo Interface for *niX. VIDIX is portable interface which was designed and introduced as interface to userspace drivers to provide control of video overlay hardware as an alternative to V4L. Doesn't apprar to have got very far.

Xvideo

(Added 18th Jun 2003) Xvideo is an extension for the X Window System which controls video overlay hardware. This allows for hardware scaling but has no way to control what is displayed.

dvbstream

(Added 18th Jun 2003) dvbstream can be used to broadcast either a (subset of a) DVB transport stream or a DVB program stream over a LAN using the rtp protocol.

NetGEM

NetGEM logo

NetGEM have a current Linux based web browser box, based around the ST x86 single chip PC. However they have recetly reinvented themselves as a digital TV middleware provider, based on open standards and Linux. They are initially targetting an IBM PowerPV reference platform, as described in this InfoWorld article.

Others

A large number of commercial products have been announced recently which employ Linux in digital TV applications:

  • Princeton Graphic Systems have begun shipping a high end TV with embedded Internet Appliance from Ch.1 Inc.. Article available from linxdevices.com. A very similar device is also available from Sylvania Computer Products, linxdevices.com also cover this.
  • Lineo claim to have licenced their Embedix version of Linux and their embedded web browser to Bast (US) and Elitegroup (Taiwan), according this this CNET.com article. Last year they also announced a deal with Meternet, according to this article.
  • Sony Video Network Station transmits images generated by analog video cameras to remote locations where they can be viewed using ordinary GUI-based web browsers. Technical details available from LinuxDevices.com.

For a more complete list, check out LinuxDevices.com Cool Devices Quick Reference Guide.


Real-Time Linux


As with many other things in the Linux community, there are several competing externs to Linux which offer varying degrees of 'real-time' behaviour. Two main approaches have appeared:

  • Modifications to the kernel to improve its preemtability, and real-time task scheduling behaviour, typified by the work being carried out by MontaVista. A brief overdrive of the work they are doing is described in this data sheet and more details in this white paper. The other major company advocating this technique is TimeSys.
  • Systems which run Linux as an application on top of a separate real-time kernel. Two examples of this are shown below.

A good source for more information about real-time Linux is the linuxdevices.com web site. An introduction to some of the issues is available at: The Real-time Linux Software Quick Reference Guide and to maintain balance there are articles from MontaVista: Design of a Fully Preemptable Linux Kernel and from Lineo: Guest column: Comparing two approaches to real-time Linux.

RTLinux

RTLinux logo

RTLinux is probably the better known implementation, and is backed by MontaVista. It provides a very small set of features, assuming that minimal work will be performed in the real-time environment, and has been ported to several processors. It does require some changes to the Linux kernel sources. Commercial support is available through FSM Labs.

RTAI

The main alternative to RTLinux is the "Real Time Application Interface" (RTAI) from the Politecnico di Milano (and now backed by Lineo). This provides a more comprehensive API (including POSIX compatibility), but currently only runs on x86 processors, and requires minimal changes to the Linux kernel sources.

Adeos

(Added 18th Jun 2003) More recently a third alternative has appeared. Adeos (Adaptive Domain Environment for Operating Systems) has been designed to allow a number of pieces of software to `share' a single system, by arbitrating interrupt and trap handling. This could then be used to allow an RTOS and a conventional time sharing OS to share the CPU, with priority given to the RTOS.

Linux has been modified to run in this environment, but the RTOS component is still under development.

Adeos has been carefully documented, providing references to prior-art for all technical features, ensuring that it should not become involved in patent disputes.

Articles

An interesting comparison of the two methods is available from LinuxDevices.com.

Another comparison of the different ways of acheiving real time (and what real-time actually means) comes from Rating Real Time: Count the Ways in Dr. Dobb's Journal, September 2001.

Another article is Linux Scheduler Latency by Clark Williams. This discusses the two main options to modifying the Linux scheduler: introducing more scheduling points (the low-latency patch), or full preemption (the preemption patch).

Not specifically related to real-time, but more focusing on embedded Linux in general, is this article entitled Linux inside.

Supporting Time-Sensitive Applications on General-Purpose Operating Systems

An article by TimeSys contains some more details on their scheduler modifications.


Embedded Hardware


For an overview of embedded devices which run Linux, have a look at the LinuxDevices products page.

Allwell

Allwell logo

Allwell are based in Taiwan, and produce a range of hardware which is designed to run Linux. These include DVD players, set-top-boxes and internet appliences, all based arounf x86 compatible CPU's. I first heard about this company through an article on ZDnet where its use as a low cost firewall has been described.

empeg

empeg logo

Another company with some novel hardware which runs Linux is empeg. This company produces an in-car audio system which plays MP3 files, using Linux on a StrongARM (with a Philips DSP). They are encouraging the development of third party software by realeasing the sourcee code to the GPLed parts of the code, and a number of other sites, including their own geek site and at least one unofficial site.

Snap Gear

Snap Gear produce a range of networking devices for use as routers, firewalls and gateway devices. Most of these are based around a Motorola ColdFire. As this does not have an MMU, it runs the cut down Linux variant uClinux.

Sigma Designs

Sigma Designs logo

(Added 1st Aug 2005) Sigma Designs produce chips for use in digital consumer devices, such as DVD players and digital camcorders. Many of these run ucLinux on embedded processors. An article about thie DVD player appeared in linuxdevices.com.

Unfortuntaly many of the device drivers available from Sigma designs are closed source. This has led to a couple of projects which are trying to produce open source drivers for the Creative Dxr2 and DXR3 and Hollywood+.

pcHDTV

pcHDTV

pcHDTV produce the pcHDTVTM HD-2000 Hi-Definition Television Card which provides an MPEG-2 TS which can be decoded by the xine media player.


Articles


Many of the computing and electronics periodicals are now carrying articles on Linux. Some of these are available on-line, for example:


Busses


There are a number of busses which have crossed over from being used mainly in computers, to being of interest in consumer devices. Support for these is gradually being incorporated into Linux, and if it is not part of the standard kernel already, should be soon.

1394

1394 logo

Support for 1394 has been included in more recent Linux kernels, but the IEEE 1394 for Linux project page can suppory more information about the drivers, and the project.


USB

USB logo

USB support is much more advanced than 1394, and has been included in the standard kernel for longer, indeed from kernel version 2.4 it can probably be regarded as fully supported. For more information see the project home page for more details.

PCI

PCI is now widely used in embedded systems.

PCMCIA/PCcard/CardBus

For removable devices PCcard is a widely adopted format, and its more recent varient CardBus.

Valid HTML 4.01! Last updated: 2004/11/18 11:46:06
© Copyright STMicroelectronics Limited, 2005
Printer