Archive for May, 2013

Wouldn’t it be great to have an Open Embedded linaro image with a graphical environment for aarch64? We thought so too.

So in the Linaro Graphics Working Group we’ve been creating one. In our case we picked xfce as our environment. It’s reasonably lightweight, fairly simple, has reasonable package dependencies and already supported in OE.

The environment for running aarch64 these days that I have access to is the simulator. There are two, one called the Foundation and the other the RTSM commercial model. I’ve been using the later but the results should work with the Foundation model as well. Emphasis on should, I haven’t tried yet.

So let’s retrace the journey a bit so you can enjoy the adventure. With framebuffer on in the kernel and the usual suspects, X of course is the first stop along the way.


xclock, xterm in all their early 1990s lack of any bells and whistles glory. While the output looks reasonable, at this stage I didn’t have the mouse working and couldn’t enter any keyboard input.

Pressing ahead I starting adding in xfce packages to my image. That got me to here.


Ew! Obvious font problems and still no ability to get keyboard or mouse input. I quickly discovered from the Xorg log I didn’t have xf86-input-evdev. Once installed both keyboard and mouse worked.

Fonts were a bit more tricky. fc-cache -f -v alone wasn’t fixing it. Given the squares that doesn’t look like a rendering problem. Pango!  Ah yes.  /etc/pango/pango.modules was empty. One pango-querymodules > /etc/pango/pango.modules later and things were much better.


Ahhh much better!  Still you can see in the window titlebars something is amiss and our xfce environment is still missing things. So fleshing things out even more brings us to this current point.


That certainly looks much more like a normal xfce setup. Still have some rendering issues to address, between the mouse pointer and something with the windows but otherwise, this is something usable and moving in the right direction.

In my next post, I’ll point you at images and the early instructions as to how you can build and use this yourself!

Recently I started working with the software simulator for aarch64. Aarch64 is of course the 64 bit architecture.

One thing I very much enjoy is the ability to modify the contents of the file system of the device under test from my stable workstation. When working with ARM SoC systems like an Arndale or a panda, that’s quite simple, just mount the SD card and away you go. For a software simulator environment it’s a bit different.

When you download the file system image for aarch64 from Linaro once gunziped, you have a .img file. This is a disk image with partitions in it. In order to loop back mount it and get at either the boot partition or the root file system you need to resort to a little trick. 

parted  ./vexpress64-openembedded_minimal-armv8_20130423-299.img

(parted) unit
Unit? [B]? B
(parted) print
Model: (file)
Disk /home/tgall/aarch64/vexpress64-openembedded_minimal-armv8_20130423-299.img: 536870912B
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32256B 54525439B 54493184B primary fat16 boot, lba
2 54525952B 536870911B 482344960B primary ext4

(parted) q


So here we have a disk image with two partitions. The system file system is in the second partition and that’s what I want to mount. Using the partition start vaue in bytes and excluding the ‘B’ at the end of the number, we use that number with mount.

 mount -o loop,offset=54525952 -t ext4 ./vexpress64-openembedded_minimal-armv8_20130423-299.img /mnt/aarch-root-filesystem

And there you have it.