Jim Huang, developer and co-founder of 0xlab, explains how they built an Android distribution with Linaro at Embedded Linux Conference Europe 2011. Abstract: While developing Android distributions, 0xdroid and LEB (Linaro Evaluation Build), we learn much about the development approach to non-traditional open source software model such as Android Open Source Project. This session shares the experience how 0xlab established the community, contributes to upstream (in unusual way), and leveraged the strong efforts from Linaro. Also, 0xlab develops a serial of open source projects to ensure overall performance and quality for better user experience. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com
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 […]
Booting Userspace in Less Than 1 Second with Systemd – ELCE 2011
Koen Kooi, the lead developer of the Angstrom distribution, introduces systemd (sysvinit replacement) and shows how it can be integrated to a specific platform at Embedded Linux Conference Europe 2011. Abstract: Systemd is currently being hyped as *the* sysvinit replacement and this presentation will show why it’s here to stay. A brief introduction to systemd is given but the main focus is on showing how to integrate it into your favourite platform and how a few hours of tweaking can boot userspace into X11 in less than 1 second on the current generation of ARM chips (OMAP4 on Pandaboard). A comparison with slower low-end ARM chips is also be included and some design considerations when designing those low-end systems. The audience is system integrators and hobbyists that require a fast boot (e.g. robotics people). You can also download the presentation slides. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as […]
ARM Linux Kernel Alignment & Benefits For Snowball – ELCE 2011
Andrea Gallo, Chief Linux Architect in the Smartphone and Tablet Solution organization in ST-Ericsson and part of the Linaro Technical Steering Committee, explains how a common Linux ARM kernel benefits ST Ericsson Snowball development platform. Abstract: Last March, the ARM Linux community got shaken by the complaints by Linus Torvalds for its lack of proper structure and organization. This is totally true and mainly due to the large number of different SoC vendors, each one integrating the ARM IP’s in a slightly different variant. Linaro immediately accepted the challenge to drive the kernel alignment of the ARM community and most ARM Linux experts got together and agreed on the way forward as early as May 2011 at the Developers’ summit in Budapest. ST-Ericsson is a founding member of Linaro and some key ST-Ericsson engineers are assigned to Linaro and specifically to this kernel alignment working force. In the speech, Andrea […]
Yocto Project Community BoF – ELCE 2011
Jeff Osier-Mixon, community manager for the Yocto project and working at Intel, presents the Yocto Project at Embedded Linux Conference Europe 2011. Abstract: The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture. This BoF (Birds of a Feather) provides a meeting place for members of the Yocto Project community to gather, meet Yocto Project developers, see hands-on demonstrations, and get answers to questions about using the tools. The audience for this BoF includes embedded Linux developers, application developers, and systems integrators who are looking for an industry-standard approach to building custom embedded Linux distributions, at all expertise levels from newly-hatched developer to grizzled professional. Attendees can expect to learn the latest about the Yocto Project and to learn how they can participate and benefit. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX […]
The Yocto Project Eclipse Plug-In – ELCE 2011
Jessica Zhang is Software Engineer at Intel and works on Yocto Application Development Kit (ADT) and its Eclipse plug-in. She presented Yocto Project Eclipse Plug-in at Embedded Linux Conference Europe 2011. Abstract: Yocto project is an open source collaboration project that aims at helping embedded Linux software developers, either for system or application development. The Yocto Eclipse plug-in provides an effective integrated development environment that is based on the widely adopted Eclipse CDT and TCF extensions. It allows user to seamlessly interact with various Yocto project development tools. Yocto 1.0 targeted application developers via cross toolchains and sysroot setup, with remote deploy, debug and analysis. For 1.1, we have added support in the Yocto Eclipse plug-ins for system development through interaction with the bitbake UI interface for a Yocto bitbake commander type project. This talk will demo the end-to-end usage flows of Yocto Eclipse plug-in for both system and application […]
Development Testing with Static Analysis
I’ve recently come across an EE Times article written by Coverity stressing the benefits of static analysis and how it can help finding potential issues in the code early. They mentioned 3 static analysis techniques: Dataflow analysis This technique can find the defect in the listing below during compile time.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
void null_pointer_deref(int x) { char *p; if (x == 0) { p = foo(); } else { p = 0; } if(x != 0) { *p; } else { ... } } |
If value of x passed into the function is not zero, p is assigned a null pointer with p=0. Then, the next conditional check (x!=0) takes a true branch and in the next line p is dereferenced, leading to a null pointer dereference. This type of issue can be detected at compiled time with dataflow analysis. Interprocedural analysis This technique can find defects across function and method boundaries. See listing below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
void *zero_alloc(size_t size) { void *p = malloc(size); if (!p) return NULL; memset(p,0,size); return p; } struct S *create_S(int initial_value) { struct S *s = (struct S *) zero_alloc(sizeof(*s)); if (!s) return NULL; s->field = initial_value; return s; } int example_leak(struct S *s, int value) { struct S *tmp = s; if(!tmp) { tmp = create_S(value); } if(!tmp) return -1; ... return 0; } |
There are 3 functions: example_leak, create_S and zero_alloc. Interprocedural analysis can go through the code and identify the memory leak. The analysis engine has to trace the […]
Ubuntu Linaro Evaluation Builds (LEB) Tutorial
Ricardo Salveti, tech lead of the Developer Platform working group, gave a tutorial on the Ubuntu Linaro Evaluation Builds (LEBs) during Linaro Connect Q4.11. He first described the list of available images: nano – minimal rootfs (command line) with apt/dkpg support ALIP – nano + X11 + browser Developer – nano + development tools Ubuntu Desktop – clone of Ubuntu with Linaro modifications. and how the builds are made available via nightly builds and hardware packs. Linaro aims at making Ubuntu the reference Linux distribution for ARM. This goal is valid for Cortex A processors, but for older ARM core (ARM9/ARM11) other distributions will have to used such as Debian. For example, Raspberry Pi board (ARM1176) will support Fedora optimized by Redhat. He then gave further details on Offspring the Linaro build system based on live-build scripts used for Debian. The source code is retrieved either via git (http:/git.linaro.org) or launchpad […]