The BeagleBone is a low-cost, high-expansion hardware-hacker focused BeagleBoard. It is a bare-bones BeagleBoard that acts as a USB or Ethernet connected expansion companion for your current BeagleBoard and BeagleBoard-xM or works stand-alone. The BeagleBone is smaller than the previous version of BeagleBoards (looks like the business of a credit card) and features TI Sitara™ AM3358 Cortex A8 processor clocked at 700Mhz. The BeagleBone is also able to run a full-featured Linux. Here are the current hardware specifications: TI AM3358 ARM Cortex-A8 @ 700 MHz 256 MB DDR2 RAM Board size: 3.4″ x 2.1″ Shipped with 2GB microSD card with the Angstrom Distribution with node.js and Cloud9 IDE Single cable development environment with built-in FTDI-based serial/JTAG and on-board hub to give the same cable simultaneous access to a USB device port on the target processor Industry standard 3.3V I/Os on the expansion headers with easy-to-use 0.1″ spacing On-chip Ethernet, not […]
Yocto Project Release 1.1 Announced
The Linux foundation announced Yocto Project Release 1.1 today. This release codenamed “Edison” and based on Poky 6.0 is the the second release of the project, one year after it was announced in October 2010 to provide developers with greater consistency in the software and tools they’re using across multiple architectures for embedded Linux development. The Yocto Project reached the following milestones during the last year: Alignment of OpenEmbedded technology and the inclusion of OpenEmbedded representation in the Yocto Project governance structure. The projects share a common core that consists of software build recipes and core Linux components that prevent fragmentation and reinforce the OpenEmbedded methodology as an open standard for embedded Linux build systems. Contribution of tools and technologies such as Cross-prelink, EGLIBC, Pseudo, Shoeleather Lab (for automated testing) and Swabber have been contributed from Intel, Mentor Graphics, MontaVista Software and Wind River. Commercial adoption with examples such as […]
Cross-compiling Berkelium (and Chromium) for ARM
Berkelium is a BSD licensed library that provides off-screen browser rendering via Google’s open source Chromium web browser. It takes advantage of Chromium’s multiprocess rendering to isolate browsers from each other and can render to any buffer in memory. The user of the library can inject input and javascript code into web pages to control them, as well as listen for events generated by the page such as navigation events, load sequence events and paint events. Berkelium provides a small API for embedding a fully functional browser into any application. This library is used by Xibo Digital Signage Player python client. I’ll give the instructions I followed to build Berkelium and Chromium for ARM. For now the build works, but I have a problem running berkelium in the emulator. First, you’ll need to install some tools and the development version of some libraries: sudo apt-get install git-core subversion cmake doxygen […]
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 […]
Xibo Digital Signage on ARM (Beagleboard / Overo)
Xibo (pronounced eX-E-bO) is an open source, multi-display, multi-zone, fully scheduled digital signage solution written in Python (there is also a dotnet version). This is a client /server solution that can run on Windows or Linux. 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. Since I had not seen digital signage solution running on low cost ARM development platform such as Beagleboard, Pandaboard or Origen, I decided to give the Xibo python client a try using qemu to emulate Gumstix Overo COM (OMAP 3530). Porting Xibo to ARM could provide several benefits compared to x86 platform: Lower hardware cost Lower power consumption (and electricity bill) Smaller form factor allowing easier integration in displays and in transportation (e.g. buses, subway trains). Easier to implement new digital signage features such as touch screen support, 3G connectivity, location based […]
Linaro 11.09 Release with Linux Kernel 3.0.4
Linaro has just released version 11.09 based on Linux Kernel 3.0.4. Here are the highlights of the release: Android Ethernet Configuration Manager from the x86 Android project is now available in all builds. Ethernet now works on Panda, Staging Panda, Beagle, Beagle xM, Staging Snowball. QA on all boards for the 11.09 Linaro Android Builds. Daily builds of Android toolchain against gcc-linaro bzr repository is provided. Android is now compiled with GCC4.6 with -O3. Busybox is built from source in all Android builds. glmark2 added to all the official builds for Android. Powertop is now available on Android. Linaro’s 11.09 toolchain has been benchmarked. All Android builds are running with the 11.09 toolchain. The MLO that Panda and Staging Panda uses for Android uses gets built from source from the upstream git. An OMAP4460 Android build is available from android-build. Panda supports Bluetooth. Panda supports Wi-Fi. Snowball Android A-release from […]
How to Transfer files between the Host and Qemu via SSH and NFS
Last week, I wrote a blog post explaining how to copy files to a qemu image by mounting the qemu image in the host. This is only useful if emulated platform does not support networking. If networking is enabled, using SSH (Secure Shell) or NFS (Network File System) is more convenient. Using SSH with Qemu To initiate the SSH connection from qemu, there is actually nothing extra to do as long as you have sshd installed and running on the host. If it is not installed simply run sudo apt-get install openssh-shell on the host. This will install and automatically sshd. To initiate the SSH connection from the host, you’ll have to redirect the ssh port to an unknown port and start qemu as follow (for overo):
1 |
sudo qemu-system-arm -M overo -m 256 -drive file=./overo_sd_alip.img,if=sd,cache=writeback -clock unix -serial stdio -device usb-kbd -device usb-mouse -redir tcp:2222::22 |
Please refer to Beagleboard Emulator in Ubuntu with Qemu for the detailed instructions on how to setup qemu to emulate beagleboard or […]
How to Transfer files between Host and Qemu
I previously posted instructions to install and run nano and ARM Linux Internet Platform (ALIP) distribution images for Overo and Beagleboard on QEMU, If the image support networking, you could use ssh (install dropbear server in qemu) or nfs to transfer files between the host computer and qemu, or even run your program from the NFS share. This should be possible to do that on the Overo emulator since it support Ethernet. However, although I can access Internet, I cannot access the host via ssh as the host is in a private subnetwork (192.168.0.0) and qemu in another (10.0.2.0). We would probably have to enable bridge networking for that but the tun driver is apparently not compiled in ALIP kernel. I’ll look into that later on. [Update: Finally, we don’t need tun/tap to make this work, please read http://www.cnx-software.com/2011/10/02/how-to-transfer-files-between-host-and-qemu-via-ssh-and-nfs/ for details.] Today, I’ll just show how to mount a Qemu […]