Linaro Android Tutorial with the Pandaboard

Zach Pfeffer, the tech lead of the Linaro Android working group, gave a tutorial about Linaro Android at Linaro Connect Q4.11. During this tutorial, attendees were shown how to download a recent build for the pandaboard, how to make a bootable SD card image using the linaro-android-media-create command and how to boot the board with it. The full setup was composed of a Pandaboard connected to a HDMI monitor with a keyboard and mouse connected to the board as well as serial to USB cable to connect to the development machine. He also used an SD card reader to generate the bootable Android image. The images are available at Android Linaro Build Service. There are quite a few build named after the supported board (e..g panda for pandaboard, snowball for ST Ericsson Snowball etc..) and the kernel version (tracking = latest linaro kernel, staging = stable linaro  kernel). Then an […]

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.

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:

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 […]

Khadas Edge2 Arm mini PC

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 […]

All You Need to Create a Beaglebone Clone

The Beagleboard community has released Beaglebone Rev 3 hardware design files so that other people can now modify the hardware and/or create a clone. Here are the files: Schematics (PDF) Schematics (Orcad) [update] Bill of materials Gerber files Allegro files (PCB layout) System Reference Manual [update] To open Allegro files, you’ll need to download Cadence Allegro FREE Viewer or purchase one of Cadence PCB Design software if you don’t have it yet. The schematics are only provided in PDF format for now, so you would be able to modify them unless you reproduce the PDF one. Since TI has now released the Orcad schematics you’d also be able to make a custom board by modifying the schematics. Please note that those files comes with the following disclaimer: These design materials are *NOT SUPPORTED* and DO NOT constitute a reference design. THERE IS NO WARRANTY FOR THE DESIGN MATERIALS, TO THE […]

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 […]

Rockchip RK3568/RK3588 and Intel x86 SBCs

Pandaboard Cloud Cluster Running Google App Engine

Noritsuna Imamura showed an ARM cloud cluster built with 6 Pandaboards at  Linaro Connect Q4.11. Noritsuna is a member of the Open Embedded Software Foundation (OESF), a Japanese organization that support Open Source embedded software. The cluster is made of 6 panda boards with a total 6 GB of RAM (1GB per board) that runs the Google App Engine (http://code.google.com/appengine/) in Ubuntu/Linaro 11.09 release. The middleware used is TyphoonAE, a full-featured and productive serving environment to run Google App Engine (Python) applications. This type of server hosts web applications such as Rietveld (used in the demo below) to be run on (thin) clients. There are also plenty of other software (required by Google App Engine) that runs in this ARM cloud such as MySQL, Apache2, memcached and more. In the video, a power meter shows that the cluster consumes about 35 W in low activity mode. Norisuna had a comparison […]

BTRFS The Next Linux File Systems

BTRFS (B-tree file system) is a GPL copy-on-write file system for Linux developed by Oracle and is expected to replace ext4 as the default file system in future Linux distributions. Here are the main features of BRTFS (pronounced like Better FS): Extend file system (264 max file size: 16 Exabytes) Copy on write (COW) data and meta-data Space efficient packaging of small file Optional transparency compression (zlib/LZO) Integrity checksumming (CRC-32C) for data and meta-data Writable snapshots Subvolumes Online resize,  defragmentation, device management Multiple device support (pool of storage) Offline conversion from ext3 and ext4 Specialized log for fast sync and O_SYNC writes BTRFS is included in the Linux kernel (since Linux 2.6.29) and can be enabled during installation of several distributions such as Fedora 15 and Ubuntu 10.10, but is not officially the default file system just yet. To learn more about the internal of BTRFS you can watch the […]

Khadas VIM4 SBC