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

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

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

Ubuntu on Tegra 2 Netbook and Ubuntu Server on Pandaboard

Canonical showcases several demos at ARM Techcon 2011: Toshiba AC-100 Netbook (Nvidia Tegra 2)  running Ubuntu 11.10. with Unity interface. Freescale i.MX53 board playing a 1080p video in Ubuntu 11.10. TI Pandaboard running Ubuntu 11.10 Server Edition. Ubuntu 11.04 is not officially supported for Toshiba AC-100, but the community if working on it and the image can be downloaded at http://ac100.gudinna.com/ Canonical however supports Netbook and Headless (Server) edition for OMAP3 (Beagleboard) and OMAP4 (Pandaboard). Those image are available at https://wiki.ubuntu.com/ARM/NattyReleaseNotes Watch the interview by Charbax and demos in the video below. 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

Using Raspberry Pi as an Internet Kiosk

Following up on this morning post explaining how to get the kernel and minimal rootfs to run debian in qemu emulating an ARM1176 processor, I’ll show how to make a minimal rootfs to run Chrome browser in this platform. I tested it in QEMU, but this should also run on the Raspberry Pi hardware. First, you’ll have to complete the step I provided in Raspberry Pi Emulator in Ubuntu with Qemu. Start qemu: sudo qemu-system-arm -M versatilepb -cpu arm1176 -m 256 -hda rootfs.ext2 -kernel zImage -append “root=/dev/sda” -serial stdio Once you login to the console as root, create a new user (e.g guest): adduser guest This user will be needed to login with the graphical interface and ssh. In order to get an Internet Kiosk, we’ll need a web browser (Chromium) and a window manger. I chose fluxbox instead of gnome because of the size difference (8651 KB vs 1739 […]

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

Finding the package that contains a particular file in Ubuntu

It often happens that a file is missing during compilation and you get this kind of error: In file included from media/audio/linux/audio_manager_linux.cc:15:0: ./media/audio/linux/alsa_input.h:8:28: fatal error: alsa/asoundlib.h: No such file or directory compilation terminated. In file included from media/audio/linux/alsa_input.cc:5:0: ./media/audio/linux/alsa_input.h:8:28: fatal error: alsa/asoundlib.h: No such file or directory compilation terminated. That usually means a development package is missing. Sometime you can just guess the name of the package or you can use aptitude to find the file. There is also another (better) method in Ubuntu: apt-file utility allows you to find the package corresponding to a particular file. First install apt-file sudo apt-get install apt-file Them the first time, you need to download the files with the data for your system apt-file update Finally, you can use apt-file to find the package. For example with alsa/asoundlib.h apt-file search alsa/asoundlib.h libasound2-dev: /usr/include/alsa/asoundlib.h   Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as […]

Generate a Custom ARM Rootfs Easily with Rootstock

You may need to generate your own rootfs for your ARM target board, but do not want to cross-compile all libraries manually. You can achieve this with rootstock, a utility that generates Ubuntu armel rootfs tarballs and/or qemu image, to be uncompressed onto a root device. First install roostock: sudo apt-get install rootstock Then generate a rootfs with the required libraries: sudo rootstock –fqdn beagleboard –login cnxsoft –password temppasswd \ –imagesize 3G –seed xfce4,gdm,pkg-config,python,perl,g++,bison,flex,\ gperf,libnss3-dev,libgtk2.0-dev,libnspr4-0d,libasound2-dev,libnspr4-dev,\ libgconf2-dev,libcairo2-dev,libdbus-1-dev,libstdc++6-4.5-dev,libexpat1-dev,\ libxslt1-dev,libxml2-dev,libbz2-dev  –dist natty Here are the details of the command line parameters: –fqdn: Hostname to be used for the target system –login: Login ID of the admin user created during setup –password: Password of the admin user created during setup –imagesize: Size of the target filesystem to be created (default 1GB) –seed: List of packages to install –dist: Specify Release to build (jaunty, karmic, lucid, maverick or natty) Alternatively you could also use an […]