Skip navigation

Enchanted Objects

2 Posts authored by: JokerZ

Over the weekend just gone by I managed to create an Ubuntu boot disk and get the SAMA5D4 running with an operating system that provides me with

features I am a little more used to vs the Poky build that Atmel provide.


What I built was Ubuntu 14.04.1 LTS compiled and running on the SAMA5D4 Xplained Ultra board. Along with supporting root file system.

Thankfully this include apt-get and I have been able to install all my favourite tools, including a GCC compiler tool chain directly to the

board.  I really enjoying developing directly on single board computers so this is pretty useful for me.


I used a lot of web references to help me along my journey.

Prior to visiting the site below I set up an Ubuntu virtual machine, installed the Ubuntu kernel source and installed the gnu toolchain cross

compiler for ARM. That was all without references and actually managed to create a zImage file in a little under an hour. Most of the time

was spent downloading the AT91 source code.


The most useful site which gave me a lot of clues was the page for Robert Nelsons EEWIKI website that contains the info for the SAMA5D4EK.


Prior to finding that site I was a bit hooked up on the boot manager and couldn't make it work terribly well.


So his U-BOOT section was a great guide into getting things rolling a little more smoothly.

I could only get so far in the process until it hung and would go no further.


I won't replicate his site here as the steps are quite easily to follow and I've been through his entire process and got it working as well.

The process is quite lengthy though if you want to build your own kernel image, put a couple of hours aside to do it.


One of the most important files to modify was uEnv.txt

It contains a large number of boot parameters, but one line in particular was very important in getting this board up and running.

It was the primary board identifier for the device tree.

you have to make sure you include the line




<youtube video coming soon for the actual boot process>


You don't necessarily need to use the hdmi device tree, but it will add the framebuffer to /dev for you, which means you can tinker

with getting the HDMI screen running. I admit I have had it working, but not as a console display its not easily plumbed into place like on a Raspberry Pi.


I managed to draw a lot of colourful pixels to it using the command cat /dev/urandom > /dev/fb0

I found I needed to sometimes plug and unplug the HDMI cable to make it recognize the monitor was there.



Now that i have Ubuntu on the board I'll be able to continue with my project and install RabbitMQ, as this will be the crux of my message bus/handler for

my IoT cloud based edge router and it will be processing all the data from my IoT devices.


If you would like to get hold of the Ubuntu image I created, you can download it from Dropbox.

It's designed to fit onto an 8GB SD card. Just use your favourite image burning software to burn it to the card.

On Windows  I use Win32 Disk Imager for Ubuntu, dd also works just fine.

Hi All,


My project synopsis for those who didn't see my application is quite basic in its theory. What I intend to do is create an IoT message bus and transaction system.

I will either roll my own, or something off the shelf with RabbitMQ and then build an API so that devices can readily communicate their results across the network

into the message queueing system and have them displayed in a portal.  Of course there are solutions out there that do this already, but there is no harm in rolling

your own proof of concept.  I want to do this so I can continue to customise my solution down the track and be able to control how I interact both from the client side and the

server side.


Now onto what I did over the Easter weekend long weekend..


Well I received my kit of parts from Element 14 and after building my new desk on Friday night I was finally in a position to get setup and start work on this design challenge.

Warning.. picture may contain traces of easter eggs... :-)


My new corner L shaped desk. 2100mm x 2100mm x 750mm x 730mm (length x width x height)



I'd read a lot about the Atmel SADA5D4 and the trouble people were having, so I figured, let's give this a go. It can't be that hard, right?

Glad to see that people were not exaggerating. If you want a lesson in calm and patience, buy yourself one of these and try to figure out how to make

it work.  I managed to get the serial interface working so I could actually talk to the device and was able to build myself a new linux kernel based on Ubuntu.

Currently I am failing because my unix VM can't properly mount my SDCard, which means I can't easily write the OS to the card, but I'll overcome that in the next day or two, I hope.


The operating system installed on the SAMA5D4 is a huge disappointment. The implementation is severely lacking in those everyday tools which could have made

this SBC into a 5 star performer. Had they been able to bundle it with a more complete implementation of UNIX, or even standardised it a little more towards Debian and given us an install

where we could readily use a development toolchain it would have immediately changed how the board can be used. What they really need to do is re-evaluate the board

and enable the functionality that exists on the board via the various interfaces. A good example of this is the HDMI port.

If you are providing a HDMI port, at least include the necessary modules to allow the HDMI port to be used as a console.


I could see this card easily rivalling a Raspberry Pi 2 if a bit more forethought had been put into the software/operating system layer of the card.


Now there are a couple of useful tools installed, there is a http light server as well as python. I could probably use these to roll my own MQ, so even in its vanilla flavour, the SAMA5D4 may

prove to be useful yet. I just can't spend a lot of time working against the tools, I'd rather work with them.