Cross-compiling VMWare View for ARM Linux (in Debian/Ubuntu)

Earlier this month, I wrote an article about PCoIP Technology which shows an Android application (VMWare View) running on an OMAP4 Tablet displaying a Windows 7 desktop. This remote desktop technology relies on a powerful server to do the processing and thin clients (in that case Tablets) to display the desktop. Since only pixels are transferred any OS (supported by the server) could be displayed in the thin client. That made me wonder if there was an open source PCoIP client that could run on low end Linux client such as the Raspberry Pi. VMWare View Open Client provides just what we need, but is only available in source code so we need to cross-compile it for ARM or build it in an ARM machine. Today, I’ll show the instructions I followed to cross-compile it for ARM in Debian using Emdebian Toolchain. First download and extract VMware View Open Client 4.5 source code: Install some tools on the build machine: …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Yocto Project Quick Start Guide for Ubuntu

Yocto is an embedded Linux build system used to create a Linux distribution for a specific application/board combination. I’ll describe 2 methods to get started: Building and running  a qemu image for x86 from scratch Using pre-built binaries to run the x86 image in qemu This is a shorter version of the longish Yocto Project’s Quick Start Guide. The official guide is more complete (explains all details) and give instructions for several distributions, whereas this guide simply lists each step and is focused on Ubuntu. So you could use this guide to start the build, and during the build (which will last a while), read the official guide to actually understand how it all works.   Prerequisites First, you need to use bash instead of dash in Ubuntu: and select “No” to use bash. Then install the required packages with apt-get: Building and running a qemu image for x86 from scratch Download and extract the latest version of Yocto: Setup …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Xibo Digital Signage in Raspberry Pi Emulator (Step 1)

Xibo (pronounced eX-E-bO) is an open source, multi-display, multi-zone, fully scheduled digital signage client/server solution written in Python and dotNET. 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. The Raspberry Pi is a low cost board based on Broadcom BCM2835 (ARM1176 Core) that should be available for sale at the end of January / beginning of February at http://www.raspberrypi.com. There are two versions of the board: Model A: 128 MB RAM and no Ethernet Model B: 256 MB RAM with 10/100 Mbit Ethernet BCM 2835 also features a Videocore GPU supporting OpenGL and 1080p30 video decoding that makes it ideal for multimedia applications such as digital signage players. The board support both HDMI and composite video output. You should also be able to connect a LCD via the DSI interface. If we can make Xibo run on Raspberry Pi, we would have a low cost digital …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Cross-compiling libavg 1.7 for ARM on Debian

libavg is a high-level development platform for media-centric applications using Python as scripting language and written in C++ and I’ve already written a post to cross-compile libavg 1.6 in Ubuntu (with linaro cross toolchain) and using Beagleboard qemu image. Since I’ve doing some preparation work to have software running on the Raspberry Pi and that the latter won’t support Ubuntu, I’ve had to cross-compile it again. This time, I’ve found a cleaner way to do the cross-compilation with dpkg-cross and xapt tools which can load the required armel package to the arm toolchain. Those tools really make life easy, as previously (a few years ago), I would have had to cross-compile all dependencies manually. Here are the steps I followed: Install Emdebian ARM Cross Toolchain and Tools in Debian. Download libavg 1.7 source code Extract it Install the following armel development packages: sudo /usr/share/pdebuild-cross/xapt -a armel libpango1.0-dev libavformat-dev libavcodec-dev libswscale-dev python2.6-dev libboost-python-dev libboost-thread-dev libglu-dev libgl1-mesa-dev libgtk2.0-dev libglib2.0-dev libsdl-dev libxml2-dev libxxf86vm-dev …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Installing Emdebian ARM Cross Toolchain in Debian

I had previously installed Sourcery G++ ARM Linux toolchain in Ubuntu to build some software running in Debian, but I encountered some issues with some libraries (libavg) that use gethostbyname in static libraries without any easy way to make it dynamic. In that case, the library in the rootfs and cross-compiler must match.  So I decided to install Debian Squeeze (6.0.3) and the corresponding cross-toolchain by Emdebian (short for Embedded Debian). First to use this toolchain, add the URL to get Emdebian packages to /etc/apt/sources.list: # # — Emdebian cross toolchains # deb http://www.emdebian.org/debian/ squeeze main Then install Emdebian public key: apt-get install emdebian-archive-keyring apt-get update If you don’t install the key, you’ll get the following error: W: GPG error: http://www.emdebian.org squeeze Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY B5B7720097BB3B58 Search and install packages for the architecture that you need, in this case ‘armel’: apt-cache search armel This command will return a …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Raspberry Pi Beta Boards Are Being Auctioned

The Raspberry Pi foundation has setup an Ebay account and made some of the Raspberry Pi Beta Board Model B (Ethernet + 256 MB RAM) available on Ebay. This is for charity so you won’t be able to get them for 35 USD… The current bid is 1,320.00 GBP (2050 USD). They’ll add 2 boards on Ebay each day. The goal of this auction is to gather funds in order to hire a full-time staff and give as many Raspberry Pi away to kids as possible. If you win the bid, you’ll get one of the 10 boards for sale, a USB power, an SD card with Debian, and some kind of certificate showing you were one of the first to get a board. If you are interested, you can bid at http://www.ebay.co.uk/itm/Raspberry-Pi-Model-B-beta-board-10-limited-series-10-/180786734741?pt=LH_DefaultDomain_3&hash=item2a17baa695 Support CNX Software – Donate via PayPal or become a Patron on Patreon

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Remmina : Remote Connection via RDP, VNC, SSH, XDMCP or SFTP

If you need to connect to both Windows and Linux machines remotely,  Remmina is what you need. It is an application that can remotely connect to server using VNC, SSH, XDMCP, SFTP and RDP protocols. So that you can connect to a Windows machine using the default RDP (Remote Desktop Protocol) protocol without installing a VNC server. In the screenshot below I setup a Windows RDP and a VNC connection to 192.168.0.102. There are plenty of options. Here’s a screenshot of Remote Desktop Preferences for the RDP client. To install in an Ubuntu or Debian distribution: sudo apt-get install remmina To install it in Fedora: sudo yum install remmina Support CNX Software – Donate via PayPal or become a Patron on Patreon

Support CNX Software – Donate via PayPal or become a Patron on Patreon

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 MB). I installed the required package in qemu with apt-get: …

Support CNX Software – Donate via PayPal or become a Patron on Patreon