Status of Embedded Linux – ELC 2012

Tim Bird, software engineer at Sony, discusses recent development in embedded Linux at the Embedded Linux Conference 2012. Abstract:  Tim discusses changes to the kernel, improvements to embedded-related sub-systems, and new industry initiatives likely to affect embedded Linux developers in the future. Also, Tim discusses the direction of the Linux Foundation CE Workgroup, and their contract work and projects for this year. Last year highlights are also discussed, as well as ways to continue to improve Linux going forward. Here are the key points of this presentation: Linux Kernel Version changes: 2.6.38 to 3.3-rc3 Technology Areas: Bootup Time  – With improvement in the kernel, bootloader and user-space Graphics – 2D/3D implementation. New /dev/ion and CMA graphics stuffs Accelerated Rendering – e.g. Renderscript Graphics Drivers – e.g. PowerVR Multimedia – Gstreamer, Android Media Layer (stagefright) and codec wars (e.g. patent issues with WebM/VP8 that interferes open source licenses). File systems – […]

Raspberry Pi Releases 1st SD Card Image (Debian) – How-to use it in QEMU

The Raspberry Pi Foundation has just released the first SD Card Image that you will be able to use with your Raspberry Pi board. This image is based on Debian Squeeze (6.0) and comes with  LXDE user interface and Midori browser, development tools, and sample code for accessing the multimedia functionality on the device. You can download it using BitTorrent: debian6-17-02-2012.zip.torrent (preferred method) or via one of the many http mirrors available on RPi Community page. This image contains all necessary files including the binary blob and closed source libraries, the kernel and the root file systems. If you want to to prepare an SD Card with this image simply use dd in Linux: unzip debian6-17-02-2012.zip sudo dd if=debian6-17-02-2012/debian6-17-02-2012.img of={sd_card_path} where sd_card_path is the device pointing to you SD Card (e.g. /dev/sdc). Make sure you use the correct device (e.g. with fdisk -l) or you may wipeout your hard drive […]

Yocto Project Quick Start Guide for Ubuntu

Yocto is an embedded Linux build system used to create a Linux distribution for a specific application/board combination. I’ll describe 2 methods to get started: Building and running  a qemu image for x86 from scratch Using pre-built binaries to run the x86 image in qemu This is a shorter version of the longish Yocto Project’s Quick Start Guide. The official guide is more complete (explains all details) and give instructions for several distributions, whereas this guide simply lists each step and is focused on Ubuntu. So you could use this guide to start the build, and during the build (which will last a while), read the official guide to actually understand how it all works.   Prerequisites First, you need to use bash instead of dash in Ubuntu:

and select “No” to use bash. Then install the required packages with apt-get:

Building and running a qemu image for […]

Xibo Digital Signage in Raspberry Pi Emulator (Step 1)

Xibo (pronounced eX-E-bO) is an open source, multi-display, multi-zone, fully scheduled digital signage client/server solution written in Python and dotNET. If you are not familiar with Xibo you can visit http://xibo.org.uk/ or/and read my introduction XIBO: An Open Source Digital Signage Server/Client. The Raspberry Pi is a low cost board based on Broadcom BCM2835 (ARM1176 Core) that should be available for sale at the end of January / beginning of February at http://www.raspberrypi.com. There are two versions of the board: Model A: 128 MB RAM and no Ethernet Model B: 256 MB RAM with 10/100 Mbit Ethernet BCM 2835 also features a Videocore GPU supporting OpenGL and 1080p30 video decoding that makes it ideal for multimedia applications such as digital signage players. The board support both HDMI and composite video output. You should also be able to connect a LCD via the DSI interface. If we can make Xibo run […]

Tuning Linux For Embedded Systems – ELCE 2011

Darren Hart, Intel’s Open Source Technology Center, gives a 5 step method to optimize Linux (image size, memory footprint and boot time) for embedded systems at Embedded Linux Conference Europe 2011. Abstract: Although embedded systems are less and less resource constrained, there is still a lot of demand for minimizing the image size, runtime memory usage, and boot time. The firmware, kernel configuration, hardware initialization, boot-time arguments, start-up scripts, and library sizes are all examples of things with a direct impact on your image size and/or boot time. There are several core processes involved with minimizing the size of an image, which has a direct impact on runtime memory usage and boot time. The focus is on configuration techniques that get you most of the way there and follow-up with source-level customizations that get you the rest of the way. You can also download the presentation slides. Jean-Luc Aufranc (CNXSoft)Jean-Luc […]

Linaro 11.10 Release with Linux Kernel 3.1

Linaro has just released version 11.10 based on Linux Kernel 3.1. Here are the highlights of the release: Android Audio playback and recording works on LEB-panda. TJBench into all Android builds benchmarked against the original Android libjpeg implementation: TomGall/LibJpegTurbo All strict-aliasing violations in 2.3.5 have been fixed and sent to AOSP. (for build optimization) Linaro Gerrit is integrated with Android Build Service for change verification as part of Continuous Integration effort. Tip toolchain tracked and released against all targets for 11.10. iMX53 will now boot with a 3.0 or later Android Kernel. The multimedia test application has been extended to cover encoding and give better benchmark results. Linaro’s Android distribution can now base builds off a tip toolchain build. Linaro’s 11.09 toolchain has been benchmarked. USB camera (UVC) now works on linaro-android builds. Developer Platform The Linux Linaro packages are now generated and validated in a continuous integration loop. New […]

Xibo Digital Signage on ARM (Full Version)

Last month, I wrote a post showing how to run Xibo Open Source Digital Signage in a BeagleBoard/Overo emulator. That version could communicate with Xibo server, download the required files, display pictures and (maybe) play videos with the real hardware. However, it had serious limitation as Text, RSS and web pages could not be displayed. I’ve now fixed those issues and the full Xibo 1.3.1 can run on ARM platform. First, you need to follow the instructions given in Xibo Digital Signage on ARM (Beagleboard / Overo), although we’ll need to modify something with libavg compilation (see below). Then cross-compile berkelium for ARM using Linaro toolchain. Add libbrowser-node to libavg plugin directory and build libavg again. Also copy the Berkelium header files in to src/test/plugin (i.e. src/test/plugin/berkelium) or add the include file path to CFLAGS/CXXFLAGS.

Create libberkeliumwrapper.so:

Copy the required files to the qemu image: sudo mount -o […]

Raspberry Pi Emulator in Ubuntu with Qemu

The Raspberry Pi board is a low cost board based on Broadcom BCM2835 media processor SoC with an ARM1176JZF-S core clocked at 700MHz. This board is currently under development and should be ready by end of November, beginning of December and will be sold for 25 USD (128MB RAM – no Ethernet) and 35 USD (256MB RAM – Ethernet). While we are waiting for the board, we can still test software using qemu to emulate a board based on an ARM1176 core with 128MB or 256 MB memory. I’ve tried to create a rootfs based on Ubuntu with rootstock but this only support processors with ARM cortex A8 and greater, so it would not work with ARM11. I’ll be using Debian Squeeze instead. Prerequisites My host computer is running Ubuntu 10.04.3 LTS, but any recent Ubuntu or Debian installation should work with these instructions. [Update: You won’t be able to […]