TechDigital HomeAn Update on Raspbmc - XBMC for Raspberry Pi

An Update on Raspbmc – XBMC for Raspberry Pi

-

- Advertisement -

Earlier this month we told you about Raspbmc, now there is some more news.

raspbmclogo

This is what Sam has posted:

On to the development side of things. A draft version of the Windows installer has been completed. There is need to update a DLL pinvoke reference in future versions, but there is no reason to necessarily do so at this point in time.

winstaller

I’d like to thank Alexander Beug for his continued permission in using his fantastic usbit32 IO routines for imaging devices at the block level under Windows. This has allowed integration of the imaging module into the UI installer with reportable progress for the Crystalbuntu project, and now for the Raspbmc project too.

An early version of the Linux and OSX installers has also been completed as well. I will be using the Mono GTK C# platform to allow me to develop this. At the moment, the imaging and extraction routines are not integrated well into the UI. If someone wants to take a look at that and see what they can do, that would be great. Obviously, some users won’t need the UI on Linux and will feel more comfortable installing Raspbmc with a simple: wget followed by gunzip -c image.img.gz | dd of=/dev/target.

The source code for the Windows installer is available here

The source code for the Mono installer is available here

As I am approaching the project’s development via installation first (as the target system should be an easier job), the next logical step is the Linux based installer that must run on the system itself. This will be known as the RAMDISTRIBUTION. This is because it will load itself into the memory of the Raspberry Pi, allowing the original contents of the SD card that booted to be overwritten. The advantage to this over a direct image installation, is that the ram based distribution will be able to adapt for any card size that exists, as the ext4 partition will simply be placed on the end and dynamically created.

So, where did I get to with this? Well. I was pushing up some sources so I could build the ram based distribution, and consolidating a series of scripts I had written (I’m sure devs will prefer a single ./script-to-build). Building the ram distribution takes a few stages, namely:

  1. We build a kernel for the device, and a kernel for QEMU – to finish the foreign debootstrap.
  2. We build a bootable partition for the device with the modules and GPU binaries, such as start.elf
  3. We initialise QEMU upon an ext4 filesystem and finish the debootstrap and configure the installer.
  4. Build an image to encapsulate everything: the vfat partition, the ext4 partition and a swap file.

The current sources are here

A bootable system is the most complex bit in the process now, but I believe I’m pretty much there. At the moment, I’m using 3.0.4 kernel for QEMU and a 3.1.9 kernel for the device itself. I created tarballs of pre-configured kernels, which is not ideal, as they rely on a static path toolchain. However, this is just for the initial version, and in the future there will be one kernel for Raspberry Pi and QEMU, creatable by different defconfigs.

Looking good! Can’t wait to get my hands on a Raspberry Pi board!

Andrew Edney
Andrew Edney
I am the owner and editor of this site. I have been interested in gadgets and tech since I was a little kid. I have also written a number of books on various tech subjects. I also blogged for The Huffington Post and for FHM. And I am honoured to have been a Microsoft MVP since January 2008, including as an Xbox MVP until 2023.

Stay connected

7,137FansLike
8,529FollowersFollow
27,000SubscribersSubscribe

LATEST REVIEWS

Review: Soulstone Survivors

Another fantastic arena-based experience.

Review: Directive 8020

Review: Gambonanza

You might also likeRELATED
Recommended to you