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

Archos G9 GPL Source Code

Archos has released the GPL source code for the Archos G9 Tablets on their Gitorious account. This is obviously the same source code for Archos 80 G9 and Archos 101 G9. There are two git repositories for the G9: archos-gpl-gen9 – Archos generation 9 GPL release archos-gpl-gen9-kernel – Archos generation 9 GPL linux kernel 2.6 release The GPL “userspace” source code is divided into 4 directories: buildroot – Buildroot to generate a cross-compilation toolchain, a root filesystem, a kernel image and a bootloader image. hardware – Direcotory containing hardware related source: WL1283 “Wlan” Driver (WiLink 7.0 single-chip WLAN, GPS, Bluetooth and FM solution) packages: libf2m – Library to convert flash videos (FLV) to AVI, MOV or MP4 libmms – Library for streaming video/audio with mmst / mmsh protocols external- Utilities and libraries (Bold indicates external sw not released/used with Archos G8 Source Code) alsa-lib – Audio library alsa-utils – Audio […]

Variscite System On Module based on TI OMAP4460

Variscite – an Israeli company specialized in embedded systems manufacturing, development and consulting – announced the VAR-SOM-OM44 system on module (SOM) based on TI OMAP4460 processor (dual core Cortex-A9 cores @ 1.2 ~ 1.5GHz). This SOM features 512MB of DDR2 SDRAM and a microSD socket, I/O including gigabit Ethernet, USB 2.0, 3D camera, and HDMI. Variscite also announced  the VAR-OM44CustomBoard, a development board that can be customized to match specific customers requirement as well as the VAR-DVK-OM44, a complete development kit with touchscreen for evaluation and application development purposes. Here are the VAR-SOM-OM44 SOM specifications: CPU: Texas Instruments OMAP4460 Processor (1.2GHz – 1.5GHz) dual-core ARM Cortex-A9 MPCore GPU: PowerVR™ SGX540 graphics core @384MHz Memory: 512-1024MB 400MHz LPDDR2 Built-In micro-SD Socket Display: LCD interface – Supporting 24bpp resolutions up to WXGA HDMI interface – Supporting 1080p 4-wire touch screen panel interface Audio: Line-in Stereo Headphone out Digital microphone S/PDIF Out Network: 10/100/1000Mbps […]

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

MontaVista adds HTML5 and Android support to its GENIVI-Compliant Automotive Technology Platform

Montavista announced secure HTML5 and Android support to its Automotive Technology Platform (ATP) which is GENIVI Compliant. HTML5 support is provided via MontaVista’s ModiiTM Digital Media Solutions Platform. Both Android and HTML5 are made independant of critical part of the software as they are executed in a MontaVista Linux Container (isolated virtualized container environment). Here’s an excerpt of the press release: SANTA CLARA, Calif. – October 10th, 2011 – MontaVista® Software LLC, today announced secure HTML5 and Android support for its Automotive Technology Platform (ATP). The addition of HTML5 support is provided via MontaVista’s ModiiTM Digital Media Solutions Platform which adds a powerful HTML5-based UI Framework to its recently released GENIVI-Compliant Platform. The Android support delivers a high performance Android runtime environment, which opens up access to a vast number of popular applications from the entire Android ecosystem. Complementing the Android and HTML5 capabilities, MontaVista has implemented a unique dual-layered […]

Web Servers for Embedded Systems

Many network-enabled embedded devices do not have displays and configuration must be done via a webpage. This is the case for modems and routers and possibly for  IP cameras,  networked printers… With a web server, there is no need to develop specific drivers and/or applications for computers connected to the device. You just need to write HTML/Javascript pages and possibly CGI scripts. I’ve already posted a blog post about mathopd for ARM no-mmu targets as this HTTP server is ideal for uCLinux since it does not fork. Today, I’ll list some other HTTP servers that may also be used with embedded processors. Tiny/Turbo/Throttling HTTP server thttpd is a lightweight HTTP server implementing the HTTP/1.1 (minimum) and simple to configure and run. Its executable size is 88K. The description says it does not fork, but fork is called in the source code, so I do not know what that means… It’s […]

Finding a Missing Package in Ubuntu with Aptitude

When you configure a program before building, it will usually check for dependencies and if one is missing it will return an error such as: checking for OPENSSL… configure: error: Package requirements (openssl) were not met: No package ‘openssl’ found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. It could be a PATH issue, but usually that simply means the development version of the library is not installed. Sometimes the name is easy to guess and can be installed with apt-get: sudo apt-get install packagename-devel But sometimes it’s more difficult to guess and Google is not always very helpful. In that case you can use aptitude to search for the package. For example for nss3: sudo aptitude search nss3 i   libnss3                         – Network Security Service libraries i   libnss3-1d                   – Network Security Service libraries p   libnss3-dbg                – Development files for the Network Security p   libnss3-dev                […]

UP 7000 x86 SBC