|Henry Kingman||Tux in Lights||T-9-A|
|Andrew Morton||The Relationship Between kernel.org Development and the Use of Linux for Embedded Applications||W-9-A|
|Tim Bird||Status of Embedded Linux and CELF Plenary Meeting||Th-340-A|
Henry Kingman, executive editor of LinuxDevices.com, will describe the role of the media in embedded Linux's formation and future, talk about the overlap between writing code and hacking copy, and observe that at their best, both open source projects and publications create communities. He will also venture some observations about device software selection, integration, and development, and comment on the ongoing trends for Linux adoption in the embedded space. And he'll probably reminisce about the journey from being "that crazy Linux guy" ten years ago to having the Tux logo on his credit card correctly identified by the guy at the local oil change shop. Which, it turns out, runs Linux on its cash register.
Henry has written more than 3,000 news stories and feature articles for LinuxDevices, including several hundred
discussed on Slashdot, Digg, and other community gathering spots. He has written about Linux for nearly a
decade, for publishers that include CNet and ZDNet. As the executive editor for LinuxDevices, he is in a unique
position to observe the intersection of community and industry, as Linux takes its position as a dominant OS in
The author of a popular route guidebook for San Francisco cyclists, he previously edited a bicycle magazine,
where he recalls maintaining a calendar of events using LaTeX on a Mac Plus. He has worked in Internet
publishing since 1996, and has used Debian since the Hamm release.
After 14 years in San Francisco, he currently lives and works in rural Northern Nevada, where, he says, "the
The author of a popular route guidebook for San Francisco cyclists, he previously edited a bicycle magazine, where he recalls maintaining a calendar of events using LaTeX on a Mac Plus. He has worked in Internet publishing since 1996, and has used Debian since the Hamm release.
After 14 years in San Francisco, he currently lives and works in rural Northern Nevada, where, he says, "the livin's good!".
Andrew will summarize the kernel.org development and decision-making processes. Special focus will be placed upon how they impact the developers of Linux for embedded products, including the economics of using a modern kernel versus staying on a frozen older kernel version, and the economics of maintaining private patchsets versus merging work back into the public kernel. For those who choose to work with the kernel.org team, Andrew will look at how that can most effectively be done. Andrew works with Linus Torvalds and other members of the Linux development community (including open source developers and distribution vendors and industry contributors) to shepherd new features and quality improvements into the Linux kernel.
Andrew has worked at Nortel Networks' R&D labs, and Digeo Interactive, a maker of digital home entertainment products. He is currently employed by Google, working fulltime on the Linux kernel. His long experience with Linux development, and experience in the embedded realm, give Andrew a unique and valuable perspective on the issues facing embedded Liux developers.
At the conclusion of the conference, Tim will give an overview of the status of various Linux technologies relevant to embedded devices. This will highlight key kernel features, as well a middleware projects that many embedded developers are following and participating in. Tim will also describe CELF's technical working groups and projects, including some of it's achievements in the last year and it's plans for the upcoming year. All conference attendees are invited to attend this session. CELF members especially are invited to attend to learn about the state of CELF, and how it relates to the status of Linux technology in their area of interest.
Tim Bird is the Chair of the Architecture Group of the CE Linux Forum. In this role, he leads the technical efforts of the forum (including organizing the Embedded Linux Conference each year!) Tim also works as a kernel developer and maintainer at Sony. He has helped customize the Linux kernel used in several Sony products, including cameras, video players and televisions. Tim has been working with Linux since 1993.
|Kate Alhola||Maemo Mobile Linux Platform, Current Status and Future Directions||W-340-A|
|Mike Anderson||Using a JTAG for Linux Driver Debugging||W-340-B|
|Alexander Belyakov||Compressed Swap Solution for Embedded Linux||T-130-C|
|Hugh Blemings||Learning Kernel Hacking from clever people||W-230-C|
|Andrew Christian||Compiling Full Desktop Distributions for ARM: The Handhelds Rebuild Project||W-130-A|
|Felipe Contreras||Gstreamer and OpenMAX IL: plug and play||Th-11-A|
|Jake Edge||Avoiding Web Application Flaws in Embedded Devices||T-130-B|
|Bas Engel||Digital Television with Linux – Architecture and Opportunities||W-340-C|
|Jörn Engel||Status of LogFS||W-440-A|
|Nils Faerber||GPE Phone Edition - An Open Source Software Stack for Linux Mobile Phones||W-10-C|
|Klaas van Gend||Using Real-Time Linux||T-230-A|
|Liam Girdwood||Every Microamp is Sacred – A Dynamic Voltage and Current Control Interface for the Linux Kernel||T-130-A|
|Mark Gross||Power Management Quality of Service and How You Could Use it in Your Embedded Application||T-340-B|
|Takanari Hayama||DirectFB Internals - Things You Need to Know to Write Your DirectFB gfxdrive||Th-11-C|
|Seo Hee||APCS (ARM Procedure Call Standard) Tutorial||Th-130-B|
|Seo Hee||Trouble Shooting for Blocking Problem||W-11-B|
|Kevin Hilman||Building Blocks for Embedded Power Management||T-10-A|
|Jared Hulbert||AXFS: Architecture and Results||T-230-C|
|Hirohisa Iijima||Episodes of LKST for Embedded Linux Systems||Th-130-C|
|YoungJun Jang||Avoiding OOM on Embedded Linux||T-340-C|
|Jong-Sung Kim||Back-tracing in MIPS-based Linux Systems||Th-10-C|
|Instant Startup for Application Using Reducing Relocation Time and Rearrange Function||T-440-C|
|KaiGai Kohei||Recent Security Features and Issues in Embedded Systems||T-340-A|
|Jyunji Kondo||Development of Mobile Linux Open Platform||W-230-A|
|Rob Landley||Cross Compiling Linux (tutorial)||Th-10-B|
|Grant Likely||Shifting Sands: Lessons Learned from Linux on an FPGA||W-230-B|
|Grant Likely||A Symphony of Flavours; Using the Device Tree to Describe Embedded Hardware||W-10-B|
|Matt Locke||Building Custom Embedded Linux Distributions||Th-130-A|
|Matt Mackall||Kernel Size Report, and Bloatwatch Update||T-11-A|
|Guido Madaus||Disko - An Application Framework for Digital Media Devices||Th-230-C|
|David Mandala||UME - Ubuntu Mobile and Embedded||W-11-A|
|Using UIO on an Embedded Platform||Th-230-A|
|Nicholas McGuire||Real-Time Virtualization Solutions for Linux - A Comparison of Strategies||T-440-B|
|Yuichi Nakamura||Development of Embedded SE Linux||T-230-B|
|Jeff Osier-Mixon||Effectively Managing Documentation for Embedded Linux Projects||T-11-C|
|Kyungmin Park, Sunmi Yoo||Filesystem Support on Multi Level Cell (MLC) Flash in Open Source||Th-9-B|
|Thomas Petazzoni||Linux Tiny - Penguin Weight Watchers||W-10-A|
|Matt Porter||Leveraging Free and Open Source Software in a Product Development Environment||T-440-A|
|Conrad Roeber||Enhancements to USB Gadget Framework||W-130-B|
|Frank Rowand||Adventures In Real-Time Performance Tuning||T-10-C|
|Gene Sally||How GCC Works, An Embedded Engineer's Perspective||T-11-B|
|Deepak Saxena||Appropriate Community Practices: Social and Technical Advice||Th-9-A|
|Christian Schaller||GStreamer on Embedded - Latest Developments and Features||Th-10-A|
|York Sun||Adding Framebuffer support for Freescale SoCs||Th-9-C|
|Kentaro Takeda||How to Analyze Your Linux's Behavior with TOMOYO Linux||T-10-B|
|JT Thomas||Embedded Linux Development with Eclipse||W-440-C|
|Justin Treon||Hacking an Existing Phone for Phase Change Memory||W-130-C|
This presentation will cover how to create a mobile Linux environment with desktop-like Internet and multimedia capabilities.
This presentation will focus on the use and techniques for debugging Linux kernel modules via a JTAG interface. The presentation will outline the connection strategy, compilation requirements, and debugging strategies for use in low-level driver debug. The presentation will cover from the initial module load through driver exit and clean- up. There will be a live ARM-based target and JTAG unit used for the presentation.
Mike Anderson is a founder and Chief Scientist of The PTR Group. Mike’s background encompasses over 30 years of computer experience ranging from supercomputers to embedded 8-bit microprocessors. With over 20 years focusing in the RTOS marketplace using VxWorks, pSOS, and RTX-32, among others, Mike brings a unique perspective to the embedded Linux arena. His Linux experience encompasses many years using and deploying commercial and open source Linux distros from companies like MontaVista, Wind River Systems and the Denx ELDK as well as building distros from scratch for ARM/OMAP/XScale, PPC and MIPS.
The presentation is about RAM saving technique for embedded solutions. We present an idea of enabling swap and compress swapped pages before putting them to the media. The media for swapping is considered to be flash memory or RAM itself. The driver prototype we are experimenting with is a layer on top of mtdblock device. Performed measurements showed that the data swapped can be compressed by up to 25% (i.e. we need four times less space). The price for increasing virtual memory size is performance, which is also covered by the presentation. We are going to show performance numbers for the set of compressors and underlying media.
Alexander has worked at Intel Corporation since 2002. Currently He is a software engineer of the Flash Product Group. His main interest is Memory Technology Device (MTD) subsystem of Linux including low level drivers and filesystems.
I've recently been working on porting support for a couple of PowerPC embedded boards from arch/ppc to arch/powerpc - the AMCC Taishan 440GX and ACube Systems Sam440EP. While this would be a relatively minor task for an experienced kernel hacker, it has been quite a learning process for me. Along the way I've been fortunate enough to be able to draw on the experience of a number of seasoned hackers. This presentation will have two threads. Firstly, I will discuss some specifics of the arch/ppc and arch/powerpc code base and what was involved in porting board support from one to the other. Secondly, I'll share the "tricks of the trade" that I learned from those more experienced than I. My hope is that both will combine to help others new to porting and/or kernel hacking.
Current embedded distributions provide relatively small numbers of open source packages compared to the desktop distributions. The objective of the "Handhelds Rebuild" project is to make available complete desktop distributions on embedded devices. Using the same source packages on both desktop and embedded devices enables developers to rapidly prototype and test without requiring them to go through the tedious process of cross-compiling other people's libraries. In March 2008, we will release the first Handhelds Rebuild distribution "Frisky". Frisky is based upon Ubuntu 7.04 Feisty, and containing approximately 17,000 binary packages compiled for the ARMv5 instruction set (EABI). This distribution was built on a cluster of ARM servers in about 10 days and represents approximately 90% of the Ubuntu Feisty distribution. In 2008 the Handhelds Rebuild project expects to release "Grumpy" (based on Ubuntu 7.10 Gutsy), "Echo" (based on Debian Etch), and "Hasty" (based on Ubuntu 8.04 Hardy). Binary distributions are currently targeted for ARMv5 EL, ARMv5 EL + VFP, and ARMv6 VFP.
Available March 2008: http://rebuild.handhelds.org
OpenMAX IL is a promising standard; already released, with a couple of revisions, and even deployed in some products. Integrating the OpenMAX IL support on Linux platform is a logical option as Linux is now a major player in the embedded devices' market; an intelligent solution to access the industry standard OpenMAX IL on Linux platform is required.
GstOpenMAX is a project which aims to integrate OpenMAX IL with GStreamer. The project is completely open source and it expects to receive contributions from all over, even from the desktop arena, where OpenMAX IL has been almost absent until now.
The GstOpenMAX plug-in enables multimedia applications to seamlessly use OpenMAX IL components. In addition, the project also provides the community with the possibility to develop cross-platform codecs that would automatically be supported by GStreamer multimedia framework.
This presentation will briefly introduce both OpenMAX and GStreamer, benefits of integrating both (including Nokia's products and other devices), and a quick history of integration efforts that lead to GstOpenMAX. Also, the architecture and reasoning behind design decisions. The mandatory demonstration of a real-word usage with existing Gstreamer applications like Totem. Finally; current status, issues, planned features and future development.
Security flaws in embedded devices have been rather visible of late, with several devices exposing serious vulnerabilities in their administrative web interface. For example, the BT Home Hub had a whole laundry list of flaws that would allow attackers to take control of it. Many of the same kinds of exploits used against more mainstream web applications are applicable to the embedded world: cross-site scripting, cross-site request forgery, default administrative passwords, and others.
The talk will be targeted at developers of administrative web interfaces for embedded Linux devices. It will provide examples of vulnerabilities, explain how they work and how to avoid them. The audience will leave with a thorough understanding of web application security issues, especially as they pertain to embedded administrative interfaces. The emphasis will be on writing the application code to avoid these kinds of problems.
Jake Edge has been a software engineer for various companies over the last 20 years, specializing in Linux development. He has worked on various projects, for everything ranging from embedded systems to server daemons. Some of the embedded projects used Linux, others used various roll-your-own operating systems, on hardware such as phone interfaces, storage controllers, and printers. After writing articles for LWN.net for several years, Jake joined LWN full-time last June as an Editor. He is in charge of the Security page for each weekly edition as well as writing articles on other topics of interest to the Linux and free software communities. He lives in western Colorado with his wife and two loony dogs.
In 2007 Philips Consumer Lifestyle migrated a large part of the digital television range to Linux based systems. Recently, Philips went to the market with digital television sets that are based on the Space architecture that was discussed at the '07 CELF conference.
With Space, it is relatively easy to enable anybody to join a community of developers to create innovative applications that run on standard Space enabled platforms. This concept is called OpenSpace. OpenSpace leverages the basics of the Space architecture, however it also takes us to the next step in system performance and security (IP protection, fault tolerance, execution stability, etc). OpenSpace is an effort to understand these issues and define the required changes to the Space system to allow people to prototype, leverage, and optimize the Space system.
The presentation will explain the basics of the Space architecture, some of the challenges that were faced productizing a multi application architecture by addressing boot time, IPC performance, execution stability, multi window management, and graphics. Finally we will discuss the consequences of OpenSpace.
Bas Engel has over 7 years of experience in the digital TV domain. He started at Philips Research where he
became an expert in the area of component based software architectures, audio and video media processing,
and digital system integration. Bas worked for Philips Semiconductors on the team that successfully introduced
Linux in their line of digital TV products.
Since 2006 he is a senior software architect for Philips Consumer Electronics where he is responsible for the
software architecture of Philips' digital TV products. Bas represents Philips in the CELF Architecture Group.
Since 2006 he is a senior software architect for Philips Consumer Electronics where he is responsible for the software architecture of Philips' digital TV products. Bas represents Philips in the CELF Architecture Group.
LogFS is a relatively new flash-based file system for the Linux kernel. Currently popular flash file systems have scalability problems with large flash sizes. LogFS solves this problem, providing excellent mount times even with large file systems. Jörn will present the latest developments in the LogFS file system.
GPE Phone Edition (G(PE)2 ) is a typical open source project with the goal to create a complete application software stack for mobile phones running the Linux operating system (and probably other Unix derivates). The unique feature of G(PE)2 is that it is following the standardization process of the Linux Phone Standards forum (LiPS ) and tries to be as standard compliant as possible. The result will become a project as useful to open source enthusiasts as well to businesses who want to build a mobile phone product based on Linux and LiPS standards.
Technologically G(PE)2 follows the latest developments of mobile Linux for rich devices, i.e. full Linux system based on kernel 2.6.* and GLibc. For the graphical User Interface X11 with the GTK+ toolkit is used. IPC is handled over DBus and heavily used to coordinate the various applications and subsystems. The development is inspired a lot by definitions/ideas from GMAE. G(PE)2 project also collaborates with similar projects following similar goals, like OpenMoko, and working together with them on establishing open source standards for mobile phones - which may be very similar to the LiPS definitions.
The presentation will give an introduction to G(PE)2, its history and its background. After that I will present about the G(PE)2 architecture, ideas behind this architecture and how this reflects and maps to latest development of mobile Linux. Finally a project status will be given, i.e. which parts are implemented, how far they are implemented, what can be expected to work and what is still missing and/or in development. Finally a live demo can (hopefully) be done on a real device (this also depends on network coverage on the demo location and current software state).
Nils Faerber is the project founder of GPE and GPE Phone Edition. I am currently the only "LiPS supporting member" and member of the LiPS architecture working group. Besides this I am heading a small company based in Germany and offering professional development and consultancy services for embedded and mobile Linux since 1999.
An overview of the capabilities of the hard real-time Linux kernel from a users' perspective. Today the Linux kernel can deliver true real time functionality and performance by itself, without resorting to tricks like a separate microkernel.
This talk will address the mechanisms used to achieve real-time, why to use real time and the current state and future of real-time in Linux. Klaas then goes on to debunk real-time myths and discusses common mistakes and problems when embedded systems designers switch to the real time Linux kernel.
Since 1999, Klaas has been professionally engaged with Linux software development for various companies including Philips and Siemens. In his current job as Senior Solutions Architect at MontaVista, he visits a lot of customers across Europe and helps them with their strategy to apply Linux in embedded systems. Klaas has been a speaker at various conferences on the topics of Real Time Linux and UMTS - the latter because he is lead developer of a 3G mobile communications software for Linux called umtsmon. Klaas also writes as a free- lance author for several magazines. He lives in Eindhoven, the Netherlands with his wife Ellen.
The framework is designed to provide a generic interface to voltage and current regulators within the Linux 2.6 kernel. It's intended to provide voltage and current control to client or consumer drivers and also provide status information to user space applications through a sysfs interface.
The intention is to allow systems to dynamically control regulator output in order to save power and prolong battery life. This applies to both voltage regulators (where voltage output is controllable) and current sinks (where current output is controllable). The framework is also designed to provide feedback to userspace via sysfs to allow power monitoring.
Liam Girdwood is Principal Software Applications Engineer at Wolfson Microelectronics. He specialises in embedded Linux audio and power management and is the maintainer of the ALSA SoC kernel driver framework. Prior to joining Wolfson, was an embedded Linux consultant with HP (now Agilent). He has worked within the Free Software community for more than eight years. In his spare time, he is the maintainer of several open source projects including libnova (http://libnova.sf.net ), a celestial mechanics library used by robotic telescopes around the world.
This talk provides an overview of the PM_QOS infrastructure what its good for and how you can extend it for your devices PM needs. The talk then walks through the use of PM_QOS in a hypothetical application demonstrating its use.
Mark Gross is an Engineer in the Open Source Technology center at Intel Corporation. Mark works on platform enabling for new Intel technologies and chipsets. Presently Mark is focusing on OS enabling and optimization for some of the new low power Intel products. Mark is a robotics hobbyist and participates in portlandrobotics.org and the occasional Dorkbot (http://dorkbot.org/dorkbotpdx/) get together.
DirectFB is a graphics middleware which is designed to maximize the use of graphics capabilities on embedded system. To make use of particular hardware, gfxdriver module for the particular hardware needs to be written. In this presentation, we present how one can develop his/her efficient driver, which utilize underlying hardware accelerator.
The presentation is updated version of the presentation made in ELC-E 2007 with more up-to-date internal of DirectFB.
Takanari Hayama, Ph.D. is a founder and president of IGEL Co.,Ltd, an IT consulting company. He has been consulting Linux and open source solutions for more than 10 years. He has been supporting many kernel related development. He has developped Linux drivers for MPEG-2 Decoders, Digital TV related products, Professional Audio Devices, etc. He also was involved in IPv6 development that runs not on only Linux, but also on NetBSD and ITRON. His current interrests are in the area of multimedia computing, operating system and mobile computing.
In this session, Seo Hee will present detailed information on the ARM Procedure Call Standard.
These days the complexity in embedded software is getting higher and higher, so it is more difficult for developers to debug and understand it. For example, if the wrong endless while loop and lock function in kernel side make your system fool, you can't get any debugging information. And when your programs without GDB stuff fall into deadlock status by the mismanagement of semaphore, it is not easy that you find out the cause. If these kinds of blocking problems happen to you and you can’t use any debugging tools such as GDB, how do you find out the cause? How do you find out blocking point in source?
In this presentation, two solutions to get back-trace information under the system hang-up will be presented. The first one is to use serial interrupt handler and the second one is to add new file entry into proc file system. Since these techniques don’t have much overhead or dependency on GDB, they could be applied at every phase of software development. So this presentation could be a good reference for developers who are suffering with block problems in Linux development.
The range of embedded devices, and the variety of their uses makes the design of embedded power management a complicated problem. This talk will cover the basic building blocks of embedded power management in the Linux kernel which are common across a range of devices, and how they may be combined to construct a full power-management solution tailored to a specific platform. This talk will be of interest to embedded systems developers who are interested adding power management to their embedded platforms. The talk will focus on the Linux kernel and cover the steps required to implement/port the various power management building blocks to a new embedded platform.
Kevin has been a Linux user since 1994, and a kernel hacker since 1999 when he started writing drivers and working on kernel ports to new embedded platforms. He has worked as a linux driver/kernel developer for Equator Technologies and Texas Instruments France and is a currently a kernel developer at MontaVista Software where he works primarily on embedded ARM platforms such as the TI OMAP and DaVinci as well as embedded power management. Kevin currently lives and works in Seattle, Washington and has also lived and worked in France where he became fluent in french.
The Advanced XIP File System (AXFS) combines the best attributes of XIP CramFS and SquashFS with some original ideas we’ve created a compelling new option. AXFS compresses some memory while doing XIP with other memory. This unique hybrid of techniques allows for systems with smaller memory footprints and higher performance.
This paper will discuss the architecture of AXFS and benchmark results. To show how AXFS can make Linux based mobile devices cheaper, faster, and less power hungry. Finally, it will explore how the smallest and largest of Linux systems benefit from the changes made in the kernel for AXFS.
Jared Hulbert is the primary architect, author, and biggest fan of AXFS. He has been hacking on embedded Linux systems since 2000. He has regularly contributed to little fixes and patches to the arm arch, XIP, flash filesystems, and mtd subsystems over the years. He is currently active in the architecture group of the Consumer Electronics Linux Forum.
The Linux kernel tracer "LKST" helps to know fairly detailed kernel behaviors by applying static kernel patches. We focus on its practicality and work to provide LKST for various embedded boards. In this presentation, some episodes we experienced in developing LKST patches, drivers and packages are introduced.
First, LKST tutorial and porting status for SH/ARM/MIPS/PA architectures are briefly explained. Second, several episodes acquired from the porting experience of LKST are shared. For example, in order to configure LKST for cross environments, endian conversion is required in lkstbuf command. It occurs when a target LKST (buffer output) is on big endian and a local LKST (commands & lkstlogtools) is on little endian. Furthermore, updates on dynamic tracing technologies, i.e., Kprobes and SystemTap for Embedded Linux systems are presented.
Hirohisa Iijima joined Lineo Solutions after R&D in speech processing, communication protocols and systems for over 10 years. His interests lie in embedded Linux technologies. At Lineo Solutions, he specifically focuses on developments of products and embedded Linux training. He has a Doctorate of Engineering from Hokkaido University, Japan
We found out that the current Linux implementation is not appropriate for embedded systems under the lack of physical memory. When there's no physical memory available, Linux tries to reclaim pages first and then potentially starts the OOM killer, if reclaiming fails. This is caused by Linux's demand paging and overcommit scheme. When an application actually accesses the allocated memory, Linux kernel first tries to allocate physical page frames, fails to find available pages, and then finally invokes the OOM killer. Linux kernel doesn't even give a chance for the application to handle this situation.
This presentation introduces a policy for avoiding the OOM situation that traces physical page counts per each process and restricts allocation size per each process. This can be used without any modification of application code and doesn't invoke the OOM killer under the overcommit policy.
YoungJun Jang is a engineer at Software Laboratories, Samsung Electronics. His main job is making adapted linux kernel for CE products. He is especially interested in kernel memory management, performance profiling, and error tracking method on embedded system.
When an embedded system gets a system crash, it’s very important to get the information about the system status of the moment just before the crash. In many cases, debuggers like gdb cannot be used because using debuggers can make the software behavior totally different. Moreover, there are so many system crashes hardly reproducible.
For this purpose, the register dump provided by the kernel and the backtrace() function in some C libraries are very useful. With the register values and the function call-stack on the point of the system crash, the software developer can easily find the source code and/or the variable inducting the crash. The embedded processors based on the MIPS core are very popular for A/V CE products in recent days. The MIPS core uses stack area in its own way, and unfortunately, the structure of the stack frame makes the backtrace() function work incorrectly.
In this presentation, the easy and safe way of back-tracing function call-stack in a MIPS-based embedded Linux system is presented. And the crash report system adopted in development of real product from LG Electronics is also presented as an implementation example.
Jong-Sung Researched wireless networks at the university and received a Master's degree in the computer science. He has previously worked with CDMA communication systems at Samsung Electronics. He is now working for LG Electronics, helping to develop the embedded Linux platform for LG's Blu-ray disc player.
In Linux, many applications in embedded Consumer Electronics (CE) systems are written in C++/Java due to need of fancy GUI. These applications use a great number of shared libraries. A typical ELF-formatted shared library has long startup latency to be loaded and relocated before execution. It takes a long time to start applications in CE devices which require instant startup. Consequently, applications loads slowly where end- users expect instant start.
This paper presents a deterministic dynamic loading mechanism and function reordering technique for embedded CE devices. The proposed technique decreases startup latency by rearranging boot-time related functions of an application into one section and reducing relocation time of shared libraries. This paper shows benchmark results that reduced block-read and read-ahead time caused by page faults for code pages as well as symbol lookup and relocation time.
Min-Chan Kim is the current Linux kernel Documentation translator for Korean. He translated and submitted HOWTO and stable_API_nonsense documents. His main interest is in the Linux VM subsystem. He works on various kernel and glibc related projects at Samsung Software Lab and is writing articles about Linux kernel for Korea IT Industry Promotion Agency's Open Source Magazine.
Oleksiy Kokachev received MS degree in Physics from Dniepropetrovsk National University, Ukraine, in 2002. He was involved in developments of Linux based embedded network management system, linux device drivers, TV/Radio transmitter control devices, etc. He joined Samsung Software Lab in 2005. His research interests include system software design, optimizations for embedded systems and new kernel features development for CE devices.
There is no magic bullet in security. Any security mechanism has a specific purpose, a target, and more importantly its limitations. Security technologies have to be selected with a detailed consideration of the problem they try to solve, and to ensure they do provide the intended protection. Operating Systems' Security (OSS) community provides a variety of security technologies to choose from; however, due to their inherent resource limitation, operating environments, etc. embedded systems often have stringent requirements that makes choosing the appropriate technology a challenging task. As a result the majority of security solutions that are considered mature for larger- scale systems are not readily applicable for embedded field. These solutions typically contain implicit dependencies to larger-scale, non-embedded operating environments. A concrete example is SELinux's dependency on the filesystems' support of xattrs. JFFS2, one of the most widely-used filesystems in embedded devices, however, did not provide xattrs support prior to 2.6.17 kernel. As a result SELinux would not be usable for Flash ROM devices.
This session introduces the security features that have recently been developed for embedded systems, and discusses common issues encountered when applying them on these systems. SELinux and POSIX capability support will be discussed as the main topic to make clear the differences, and concrete actions to develop required-functionalities for embedded systems will be presented.
KaiGai Kohei has more than four years experimence in kernel development. He has been interested in SELinux especially, and developed several related features. Some of his works intend to apply SELinux in embedded systems like xattr support in jffs2 filesystem, porting SELinux features into busybox.
Android(TM) is a complete set of software for mobile devices and it's SDK has already released by Open Handset Alliance. The SDK is run under PC platform and suited for developing Applications. But I've achieved to run Android on real hardware.
In this presentation, I'm planning to explain some tips and techniques including:
Jyunji Kondo is a project manager at Fujitsu Software Technologies Limited. He is in charge of consulting and engineering embedded linux. After 10 years of experience in unix kernel development for supercomputer, he has been involved in embedded Linux development for 10 years.
This is a practical introduction to cross compiling. Cross compiling is the act of creating working executable binary files for a "target" system, using a build environment (the "host") that cannot run those binaries. During this tutorial attendees will build a working cross-compiler from source code, use it to cross-compile a native uClibc-based Linux development environment, and boot this new environment under QEMU. Attendees may choose arm, mips, x86, x86_64, sparc, or PPC as the platform they wish to build for, should bring an 800mhz or faster laptop with net access or CDROM and with at least 256 megs of ram, and should have basic familiarity with the Linux command line.
A Field Programmable Gate Array (FPGA) is often used when custom logic is needed in a system. It simplifies the hardware by consolidating custom logic into a single device and it allows the logic design to be changed rapidly without physically modifying the hardware. FPGA vendors are now producing devices which can embed 32 bit microprocessors inside the FPGA. With the microprocessor and peripherals all inside the FPGA fabric, the whole system is dynamic and can change at any time.
This presentation discusses the current state of Linux on a Xilinx Virtex FPGA and the challenges related to running on dynamic hardware. We will discuss how the FPGA design is described to the kernel and how Linux can handle the dynamic hardware gracefully.
Grant Likely is the owner of Secret Lab Technologies, a software engineering company where he works full time on embedded Linux systems. He is the current maintainer of Linux on the Xilinx Virtex and Freescale MPC5200 PowerPC platforms, is helping to define embedded system bindings for Open Firmware device tree, and is an active U-Boot developer.
As part of the merger of arch/ppc and arch/ppc64, the decision was made to use an OpenFirmware style device tree for all PowerPC systems; server, desktop and embedded. Up to this point, most PowerPC embedded systems were using an inflexible and fragile board specific data structure to pass data between the boot loader and the kernel. The move to using a device tree is expected to simplify and generalize the PowerPC boot sequence.
This paper discusses the implications of using a device tree in the context of embedded systems. We'll cover the current state of device tree support in arch/powerpc, and both the advantages and disadvantages for embedded system support.
Grant Likely is the owner of Secret Lab Technologies, a software engineering company where he works full time on embedded Linux systems. He is the current maintainer of Linux on the Xilinx Virtex and Freescale MPC5200 PowerPC platforms, is helping to define embedded system bindings for Open Firmware device tree, and is an active U-Boot developer.
OpenEmbedded is a powerful open source build and release system. Not only has it been adopted as the build system for open source projects but also for commercial embedded Linux projects. Previous sessions on OE covered the structure of OE and using OE in a commercial software development environment. This session will follow up on previous sessions by going into more technical detail on using OpenEmbedded to create a custom embedded Linux distribution for a example consumer device. The session will cover setting up OpenEmbedded and using it for development.
This presentation will provide an update on the continuing size problem with the Linux kernel. Also, an updated version of Bloatwatch will be described.
Matt Mackall is an independent kernel developer focusing on embedded systems. He is a charter member of the Linux Foundation’s Technical Advisor Board and a three time member of the Kernel Summit Program Committee. He is also the lead developer of the Mercurial distributed version control system.
Proprietary applications can force developers to reinvent the wheel. An Open Source framework can reduce the effort, since existing and well tested code can be reused for new applications. The Disko framework offers the opportunity to develop applications for embedded devices easily. It is a plugin based framework, that contains components to create media oriented applications with state-of-the-art user interfaces on embedded platforms. It is closely connected to the DirectFB hardware abstraction library, and is specialized in touchscreen and remote control navigation. It provides a plugin based management component, which enables easy developing and extending of embedded applications. Disko was originally developed on the x86-architecture and has already been ported to the TI DaVinci chipset (together with DirectFB). The goal is to have Disko up and running on every single platform DirectFB is working on.
Currently the following features are supported:
Guido Madaus is 29 years old and lives in Berlin, Germany. During his studies he started working for a company that develops datacenter - centric applications which brought him in touch with Unix and Linux operating systems. Always wanting to work in an OSS project he cofounded of the Morphine.TV project in 2005, which the Disko framework is an offspring of. Mid-2006 Guido started to get self-employed to get more time to work on Disko. At the end of 2007 he and others founded the BerLinux Solutions GbR to help supporting the Disko framework in its development.
UME is the result of a partnership between Canonical and Intel and it's a embedded system using Ubuntu as a base and Maemo as user interface. It was created aiming the mid-range conected devices like tablets where the ease of use and tight integration and communication facilities are essential.
Recently, UIO (Userspace I/O) framework was merged in the mainline kernel. The framework provides functionalities for direct and fine-grained device control to user-space applications. By deploying UIO device drivers, which resides in the user space, one can take advantages such as device driver isolation, rich user- space libraries, and less overhead device access. On the contrary, we should concern issues like latencies in interrupt handling, and protection from incorrect access.
In this presentation, we examine the issues around UIO from embedded system's perspective. Our study on UIO which includes UIO's features, tips on using UIO, and tips on backporting UIO to old-kernels are presented. We also have evaluated the performance of UIO device driver on an embedded platform. Lessons we learned from this evaluation is also presented.
The topic of virtualization is much discussed - one might even say hyped - while there is a clear drive from the server market for virtualization solutions for Linux (i.e. KVM, XEN, UML, lguest...), which are making there way into main-stream Linux, none of these are targeting real-time capabilities. While varying forms of real-time are a quite common requirement for consumer electronics, they also exhibit specific maintenance and SW-lifecycle models which clearly could profit from a robust virtualization extension to Linux. In this presentation we will present options available ranging from the nano-kernel to recent works on combining KVM and RT-preempt to support dedicated and constraint real-time domains in combination with mainstream Linux.
Real-time aware virtualization extension covered in this presentation are:
Following a brief introduction of the underlying technological concepts, we will present a general assessment, benchmarks and a somewhat speculative road-map along with our judgment for which application types these solutions might be best suited.
As an increase of network-connected embedded devices, their security has become important. SELinux is widely used for servers to prevent attacks from network. However, there is a problem to port SELinux to embedded devices. SELinux kernel, userland and policy consume hardware resources unacceptably.
In the presentation, we report development of Embedded SELinux that meets resource requirement for embedded devices. Embedded SELinux has two features. The first is development of policy writing tool to reduce policy size. The second is tuning SELinux kernel and userland. We have evaluated Embedded SELinux on SH (SuperH) based CE device platform, and found consumption of hardware resources is acceptable. Applying Embedded SELinux for mobile phone platform, such as Android is also discussed.
Yuichi Nakamura works for Hitachi Software Engineering Co.,Ltd. He has been researching SELinux since 2001. He developed the SELinux Policy Editor (http://seedit.sourceforge.net/), the tool that simplifies SELinux policy management, and leads the Japanese SELinux community. Recently, he is working on SELinux for CE devices and has contributed patches to SELinux, Busybox and the Linux community.
Documentation is a vital facet of all serious projects, open-source and otherwise, but it is often overlooked---or, worse, dealt with in fire-drill mode just before going to manufacturing or market. However, documentation is both the project's face and its backbone. It is often what users and OEMs see first, and it is also the place you want users to look when they have questions or problems.
Making documentation approachable is a non-trivial task. Like the finish on a restored car or a piece of fine furniture, it can make a clunker look like a million bucks, or it can put your diamond irretrievably in the rough. This short presentation will address the process of managing the documentation portion of your project, with special attention paid to embedded and open-source issues. I will cover internal project documentation, published APIs and their accompanying SDKs, and end-user documentation, and the four critical issues that must be addressed in each component.
Jeffrey Osier-Mixon has been working with embedded systems and open-source software since 1992. He is currently a Principal Technical Writer with Access, helping to document the ACCESS Linux Platform. Jeff has also worked with embedded OS providers MontaVista and Wind River Systems, as well as Linux cluster companies Orion Multisystems and Scyld/Penguin Computing, microprocessor manufacturer Transmeta, and GNU toolkit support provider Cygnus Solutions. His current interests include enabling embedded systems developers, particularly in the mobile space, to succeed through the promotion and proliferation of open-source software.
With the request of low cost and big storages in CE, current SLC flash can’t satisfy these requirements. To address this issue, we need to use the MLC flash. However a direct chip replacement of MLC for SLC is not a viable solution since MLC has different properties, such as the number of program (NOP) being 1 and different power off recovery (POR) handling. Current open source filesystems don’t support MLC flash correctly or are still under development.
In this presentation, a real implementation for MLC flash support from device drivers to filesystem is presented, with consideration of POR issues. The device used is the MLC OneNAND with JFFS2 as the filesystem running on it.
Kyungmin Park is the current Linux Kernel maintainer for the OneNAND device driver and worked flashed based devices, MTD, MMC, and USB. He works for Samsung Electronics and does flash based projects such as flash device drivers, filesystem and Solid State Disk improvements. Now he is interested in the Multi Level Cell (MLC) flash and SSD optimization of filesystem.
Over the years, and particularly between the 2.4 and 2.6 series, the kernel has significantly grown in terms of features, hardware support and optimizations to support a wide variety of situations and use cases. While being fully satisfying for most users, this growth in functionality had the side effect of increasing the kernel size and memory consumption, affecting the users trying to use the Linux kernel in embedded devices. Started several years ago, the Linux Tiny project aims at monitoring this increase, and providing patches to keep the disk and memory footprint of the kernel under control.
After highlighting the main achievements of the project so far, we will review recent work and ideas to make the mainstream Linux kernel releases work great on systems with as little as 2 MB of RAM. The audience will also get useful tips for reducing the size of their own kernel.
After having spent a significant part of its free time at university on hacking small operating systems, Thomas Petazzoni worked during three years as a kernel developer in a French company developing storage virtualization software for computer clusters. He now works for Free Electrons, a small and free-software-friendly company providing embedded Linux training and service, while enjoying the nice weather and food of the South of France and advocating free software on his spare time.
This presentation explores the many uses of FOSS (Free and Open Source Software) components in an product development engineering environment. The discussion begins with highlights of the many aspects of product development that can be augmented with FOSS components. These components include design tools and simulators, documentation development tools, libraries for use in prototyping larger systems, and QA test tools. The presenter will make use of actual real world cases to explain how the various components can be (and are) utilized in product development.
The USB gadget framework is limited (compared to the USB host framework) to a single gadget driver bound to a single controller.
We propose to enhance the gadget framework by implementing the following features:
Conrad has a background in Physics. In the field of computers, his first assignments were in real-time systems for process control and telecommunications. He joined Philips Semiconductors in 1999. He is now architect for USB in NXP's Business Line Cellular Systems.
The real-time for Linux patchset does not guarantee adequate real-time behavior for all target platforms. When using real-time Linux on a new platform you should expect to have to tune the kernel and drivers to provide performance that matches your specific requirements.
This paper provides an example of the trials and tribulations of the tuning journey for a MIPS target board. A brief back of the envelope real-time performance characterization of the board will also be presented.
Frank has hacked on many kernels, both real-time and not, including Linux, HP-RT, HP-UX, NeXTstep, and MPE. His computing experiences are varied; some areas of technology that he has been known to touch include embedded, real-time, machine dependent kernel, networking, drivers, and performance. He is currently employed by Sony Corporation of America.
Linux development wouldn't happen without GCC, the GNU Compiler Collection. Using a GCC-based cross- compiler, there are some tricks of the trade that every embedded developer should know in order to configure GCC for their project and diagnose problems when they occur. This session looks at how you can tweak your GCC cross-compiler configuration to ease compilation and deployment and what options GCC includes to help you common diagnose problems.
Gene got involved with embedded Linux when he joined TimeSys in 2000 as an engineer working on developer tools, leading the project that created TimeSys' first release of TimeStorm based on the Eclipse project. Gene also works with TimeSys' customers and prospects to understand the benefits of embedded Linux through TimeSys' popular webinar series and hosts the bi-weekly LinuxLink Radio podcast with Maciej Halasz.
With the increasing popularity of Linux in the embedded world, HW vendors are jumping on the bandwagon to add kernel support for their devices/chipsets/SOCs. We in the community keep seeing the same mistakes made (both technical and social) repetitively. We will go over the benefits of being involved with the community and utilize examples of what not do when working within the Linux development ecosystem to illustrate appropriate practices to increase your probability of successful code adoption into the kernel.org tree.
Deepak Saxena is the lead kernel maintainer at MontaVista software, a position in which he focuses on various areas including merging patches, providing direction on technology roadmaps, and developing processes. Previous to this role he was the lead maintainer of the Linux kernel port to the Intel IXP4xx and IXP2xxx network processor. Deepak has been using Linux since 1993 and playing with the kernel for about 10 years. When not hacking, Deepak likes to go on bike rides, seek out good beer, and travel the world.
This talk covers the development of the GStreamer multimedia framework for the last year including the new embedded system friendly autoplugger element which has much improved support for hardware decoders and encoded output.
Other topics include an overview of the GStreamer OpenMax integration, trick mode support in GStreamer, VoiP and Video conferencing support with GStreamer and cross platform development with GStreamer.
This presentation will describe OpenMoko, the world's first integrated open source mobile communications platform.
The Freescale MPC8610 and MPC5121 processors contain an integrated LCD controller suitable for high- resolution display applications. This paper describes the implementation of a Linux frame buffer driver that takes advantage of the controller to provides high-resolution graphics, including video support for a wide array of applications. Advanced features including multiple planes, area of interest, global alpha are implemented, which give the the application ability to display picture-in-picture, picture blending and other advanced decoration by the hardware.
TOMOYO Linux is a security enhancement technology for Linux kernel. The outstanding feature of TOMOYO Linux is that it can automatically record the behavior of system as access policy according to the process invocation history. This unique feature, which is called TOMOYO Linux's learning functionality, helps you to tailor the minimum access permissions for your Linux box. Since TOMOYO Linux can record the complete process tree from startup to shutdown and the usage of system resources such as files, networks and capabilities etc., you can easily figure out what happens at all in your Linux box.
In this presentation, we introduce TOMOYO Linux not only as a security enhancement, but also as an analysis tool for Linux box. TOMOYO Linux is useful for debugging embedded system or reducing system size. We will also show some demonstrations with LiveCD ( http://tomoyo.sourceforge.jp/wiki-e/?TomoyoLive ).
Kentaro Takeda is an engineer in the Research and Development Headquarters at NTT DATA CORPORATION, one of the largest system integration companies in Japan. He is one of developers of TOMOYO Linux. He has been involved in the area of operating systems security since 2006.
What is Eclipse? What are the differences between using Eclipse for enterprise applications vs. embedded applications? Which features of the Eclipse ecosystem aid embedded Linux developers? This session aims to introduce Eclipse to the embedded Linux developer and will focus on the key Eclipse projects that have enabled embedded development. In particular, this session will cover embedded Linux development tools how these tools can be made more intuitive and interactive to make developers more productive. In addition to the standard edit-compile-debug cycle, this session will also cover advance analysis solutions available for the embedded Linux developer community.
Presentation on how a full production Linux phone was modified to use Phase Change Memory. The presentation is the result of a project to make the first phone running on Phase Change Memory. The phone was shown in Mobile World Congress in.
The presentation will show how a production Linux phone was hacked. I will show how hardware and software tools used. The lecture will cover detailed examples on how I modified the volatile and non-volatile memory footprint in the system, modifying the memory map and MTD driver. Demonstrating how to modify the MTD driver for Phase Change Memory will be covered; showing the advantages of using bit-alterable memory to eliminate flash block erase. Techniques on how to prevent intrusion into the phone will also be covered.
Justin Treon began working with embedded systems in 2004 with Intel Cellular and Handheld Group. In 2005 joined Chief Technology Organization of the Intel Flash Memory Group on the Linux Team trying to improve Intel NOR and NAND flash memory support for Linux. He is one of the authors of the Advanced XIP Filing System. He is currently working on RAM reduction techniques for embedded systems.
|Presenter||BOF Session||Session ID|
|Ruud Derwig||Audio, Video and Graphics BOF - Multimedia Frameworks||Th-230-B|
|Liam Girdwood||Power Management BOF||T-730-A|
|Stuart Hughes||Roll-Your-Own Linux the Easy Way with LTIB: BOF||W-11-C|
|Jared Hulbert||System Size BOF||W-530-C|
|Yung Joon Jung||Real-Time Linux BOF||T-730-C|
|Yuichi Nakamura||Embedded Linux Security BOF||T-730-B|
In this BOF, attendees will discuss the latest advancements in Audio, Video and Graphics technologies and middleware for Linux in embedded systems.
Special focus of this session will be multimedia frameworks for embedded (consumer) devices. The goal of the session is to come to an inventory of available/used solutions, share best practices, and brainstorm on areas where CELF and her members can help improving the state-of-art. After a short introduction of an initial landscape (GStreamer, Bellagio/OpenMAX, etc.) we will complement the landscape, discuss pro and cons, and brainstorm on areas to improve.
Ruud Derwig has about 15 years of experience with software architectures for consumer electronics products. Key areas of expertise include (real-time) operating systems, audio/video media processing, and component based architectures. Ruud holds a master's degree in computing science and a professional doctorate in engineering. Ruud has been working at Philips Corporate Research and is currently technology manager for operating systems and software infrastructure at NXP Semiconductors. Ruud represents NXP in the architecture group of the CE Linux Forum and chairs the Audio Video Graphics working group.
In this BOF, attendees will discuss the latest advancements in Power Management technologies for Linux in embedded systems.
I have been involved for many years building Embedded Linux systems and having used many of the available tools (and had a hand in the design and implementation of some of them), it struck me that the current tools were either aimed at promoting a particular brand of Linux, or were after thoughts used to support the "real" project the author was engaged with. My aim was to produce something that would provide a truly open, simple to use system. I wanted allow a beginner to faithfully reproduce a pre-canned config and get early success, or alternatively allow the more experienced user to craft a bespoke system. I also wanted package management, the ability to use any toolchain and to support uClibc and glibc. What I ended up with was a melting pot of some of the best available systems, combining the best of each plus a sprinkling of new ideas to boot (pun intended, sorry). The result is Linux Target Image Builder.
In this BOF, I will explain how users can get LTIB (from http://www.bitshrine.org) and how to install it and to use it to build a target system. I will also explain the inclusive philosophy that will allow the user to add packages, use their own toolchains, or even add a completely new distribution base. I will also demonstrate some of the neat features, such as incremental deployment, overlay dependency tracking, re-install triggers, auto-building and self-ISO image generation.
There are no specific requirements for this BOF other than an interest in building your own small to medium size Linux system, the easy way.
Stuart Hughes is a Senior Software Engineer at Freescale Semiconductor, where he works on tools to make it easier to distribute and use embedded Linux on their reference platforms. Stuart is the maintainer of the Linux Target Image Builder open source project which is a tool that makes "rolling your own" as easy and surprise free as possible. He has worked with Linux for over 10 years on numerous embedded system designs, including the first real-time Linux Weather Radar system approved for pilot training.
In this BOF, attendees will discuss ways to improve (decrease) Linux system size, by a variety of means.
In this BOF, attendees will discuss the latest advancements in Real-time performance technologies for Linux.
Many security features are actively developed for Linux, such as access control(SELinux, SMACK, TOMOYO, AppArmor, LIDS, capability), LSM, crypt API, data encryption(dm-crypt, ecryptfs), crypt protocol(IPSec) and Audit. After introducing these technologies, the following topics will be discussed with participants:
Yuichi Nakamura works for Hitachi Software Engineering Co.,Ltd. He has been researching SELinux since 2001. He developed the SELinux Policy Editor (http://seedit.sourceforge.net/), the tool that simplifies SELinux policy management, and leads the Japanese SELinux community. Recently, he is working on SELinux for CE devices and has contributed patches to SELinux, Busybox and Linux community.