Raspberry Pi OS Image Downloader
by Kevin • June 15, 2012 • .Net, Journal, Programming • 13 Comments
When I first started out playing around with the Raspberry Pi I used the pre-made SD Card images available on the website, however I soon noticed these were out of date, and then found it a challenge to find up to date (usually nightly builds) of some of the Operating Systems. So I decided to automate this process to make it easier, and to provide a GUI interface for new users.
The application scans a customisable (XML based) list of distributions and binary sources using a defined search pattern, if it finds any builds it adds them to a selectable list, allowing you not only to download the latest available builds but also older builds. Each Operating System distribution can have multiple sources so various flavours can be included.
When you select and download an image, it is also cached so you don’t need to download the same file twice, cached files are marked so they can be easily spotted.
Currently it is a Windows application (.Net 3.5) but I will port it via Mono to Linux and Mac OSX shortly.
You can downloaded the latest release here. (r02-16-06-2012)
*Update 16-06-2012*
Well after some tinkering I’ve updated the downloader to version 2, new functionality includes:
- If the downloaded image is ‘.img’ the tool can launch Win32DiskImager with the downloaded file as the argument
- Added SliTaz Raspberry Pi Linux Distro and updated sources
- Does not refresh source list every application start
- Minor UI changes
You can download the latest version here (r02-16-06-2012)
*Update 15-08-2012*
Since my last update there has been quite a few new distributions for the Raspberry Pi that have become available, including those that support the Hard-FP functionality of the CPU. I have therefore updated the r02 release and the DistroManifest xml file accordingly, this brings a variety of new distros including Gentoo, BerryTerminal and Meego.
Some distros don’t have direct download links so my next version will include distros with website links.
Next version wish list, probably out this weekend (18-08-2012):
- Mac OSX & Linux clients (Currently porting with Mono)
- Links to non-hardlinked distros
- Better support for zipped updates/images
- More distros
- More efficient polling of sites



This app is a god send, i didn’t know there were so many different images available.
Thank you Kevin
This app is brilliant, cant thank you enough. I have a small problem though, when i try to download an image for OpenELEC the format is .tar and in order to burn an image onto an SD card i was under the impression that we need a .img file
how do i proceed?
The current sources for OpenELEC give updates which require a premade card, if you wish to download the IMG files (zipped) you can update the Distribution Manifest XML file from http://mrpfister.com/src/DistroManifest.xml
There is a new OpenELEC source available which has zipped versions of the SD card images you are after.
May you add this images source in the installation zip file of your tool.
Thank for the great job.
Any chance of seeing this as a platform-agnostic tool, for those of us out here that use Linux or Macs?
I wrote it in C# so when I have some spare time this week I will finish porting it to Mono and recompile for both Macs & Linux
http://en.wikipedia.org/wiki/Mono_(software)#Mono_and_Microsoft.27s_patents
Thanks so much for doing this! Just got my Pi and I’m so excited to try OPENELEC.
Pingback: Raspberry Pi Quick Start » iFixr
Brilliant idea. Going to re-blog!
This is an excellent way of simplifying the process. So far I’ve got Raspbmc installed (like probably 90% of the population), but still looking for THE best optimized OS. Thanks for this!
Thanks for making things easier for the average users.
I just tried Imager_r02 on a Mac (osX 10.5.8 ppc) with Mono 2.10.2 and it works kinda… I can only download images that show releases and I can’t click the url’s to the websites.
When messing around with opened windows while downloading I tend to receive a sigterm. (might be a Mono problem):
Stacktrace:
at (wrapper managed-to-native) System.Windows.Forms.XplatUICarbon.ReceiveNextEvent (uint,intptr,double,bool,intptr&)
at System.Windows.Forms.XplatUICarbon.GetMessage (object,System.Windows.Forms.MSG&,intptr,int,int)
at System.Windows.Forms.XplatUI.GetMessage (object,System.Windows.Forms.MSG&,intptr,int,int)
at System.Windows.Forms.Application.RunLoop (bool,System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application.Run (System.Windows.Forms.Form)
at RaspberryPiImager.Program.Main ()
at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr)
Native stacktrace:
0 mono 0x000f89d8 _mh_execute_header + 1014232
1 mono 0×00014214 _mh_execute_header + 78356
2 libSystem.B.dylib 0x9726689c _sigtramp + 68
3 CoreFoundation 0xa09c7154 NSGenericException + 56904
4 ??? 0xbfffd290 0×0 + 3221213840
Debug info from gdb:
/tmp/mono-gdb-commands.XsiiNE:1: Error in sourced command file:
unable to debug self
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Pingback: Raspberry Pi OS Image Downloader | Mr Pfisters Random Waffle | Raspberry PiPod