Introduction

Overview of "CE Linux"

Ten years ago, most of the people would have been laughing if someone
intended to use Linux in the embedded applications.Five years ago,few
people start thinking to use Linux for some of non-pc applications.
Now there is no surprize to hear that Linux is used in actual embedded
application - in fact, there are several actual products in the field.
You may wonder what makes such difference. The followings are the reason
that I can think of.

CE products require pc-like feature

It is said that we are about to enter in new world with new life
style. "Ubiquitous" is the word frequently used to show such concept.
Although the word of "Ubiquitous" is still too abstract, everyone
shall agree that digital CE products - such as digital camera,
PVR, DVD-R - are part of our life. From software development point of
view, it is quite natural that software developer assume same or
simular environment with pc shall be available for such products.
If such environment is NOT available, software developers have to
spend long time which impacts to product launch timing and cost badly.

By challenging and taking advanced silicon design rule, the price of
memory(RAM) has been going down dramatically and constantly. Similarly,
embedded processor speed is going up while the price has been going
down. Current $10 embedded processor performs 10+ times faster than
the one used in PC 10 years ago. Even if Linux is still big and slow
compared to other RTOS, the disadvantage is becoming small relatively.

Ten years later, people may be laughing if they hear that I wrote sentences
to explain about "why Linux in Embedded Application".

Overview of Linux Size Issue

Having said that Linux has been used in some of the actual products, Linux has
issues that can not be accepted by some of the products. Size is one of such issues.
The hardware configuration between CE products and PCs are very different. The following
example shall give you quick overview of the difference.

-

CE Product ex1

CE Product ex2

Enterprize

-

Set Top Box(STB)

Celluler Phone

Desktop PC

CPU(frequency)

MIPS(30MHz)

ARM(50MHz)

Pentium(2,200MHz)

RAM size

32Mbyte

8Mbyte

128+Mbyte

Flash/ROM

16Mbyte

4Mbyte

-

Strage

HDD 15Gbyte

none

HDD 30+Gbyte

It is said that new type of CE(Consumer Electronics) applications with
pc-like feature will change our life dramatically. Those type of
applications are so called as "digital consumer product(appliance)" or
"Ubiquitous CE product".

Charter of SZWG

The System Size Working Group shall work to minimize the memory required
to operate a Linux system. The Working Group shall establish requirements,
recommended technical solutions and may define the appropriate feature
for consumer electronics devices.

Scope

WG shall discuss the following items, in order to achieve the
goal of minimize the memory usage.

Benchmarking

Re-clarification of the Linux size issue by analysis and benchmarking with other OS

Capture high-level image of the issue. Make clarificaiton and characterize which software component- driver, kernel,middleware or application - makes Linux system fatty.

XIP(execute-in-place)

Summary of advantage and disadvantage of XIP

Discussion on further improvement

Discussion on the workaround of disadvantate

WG shall establish requirement and recommended soluiton.

Compressed File System

Summary of advantage and disadvantage of compress file

WG shall make comparison between XIP and Compressed File System and make summary, in different configurations.

WG shall establish requirement and recommended soluiton.

Configurability

Configurable feature -- System Modularity

WG shall establish requirement and recommended solution.

Subset Feature

Subset of library

Subset of middleware -- e.g. window system

WG shall establish requirement and/or may define the spec.

Tool Chain improvement

compiler -- further optimizaiton

linker -- function level strip out, post link optimizaiton

memory usage profiling

WG shall establish requirement and recommended solution.

Other method

Any other approach to achieve this charter.

Scope of this document

Definition of words

AG

Architecture Group / This group is positioned under the SC. Founders, appinted members and associated are the member. The mission of the group are;

Help SC to strategize the technical direction of CELF

Make plan and process ,to improve the CELF property, such as kernel, tools , middleware and so on

Dispatch technical WG to address specific item

CELF

Consumer Linux Forum

CELF Source Tree

Linux kernel soruce tree maintained by CELF

XIP

eXecution In Place / Typically, at the boot time, the code is copied from ROM to RAM and the code in RAM is actually executed. XIP is the technique to execute the code in ROM.

WG

Working Group / AG shall establish technical WG to address specific topics. Each WG shall work on to fix/improve the issue. As of February 2004, there are following WGs;

SZWG / System Size Working Group - A WG to address Linux System Size Issue

BTWG / Bootup Time Working Group - A WG to address Linux Boot up time Issue