Raspberry Pi


The Hardware

The Raspberry-Pi has an ARM1176JZ-F (Cortex A8) processor at its heart. The Broadcom BCM2835. The ARM Cortex A8 is an ARMv7 architecture core. Got all that? Good!

You’ll need to get the ARMv7 architecture manual from ARM by registering (it’s free!) and agreeing to their NDA. I don’t know why they bother with it tbh, but they do so I can provide it here.

Broadcom have made a datasheet available for the BCM2835. It does have to be said though – it’s about as basic as it could possibly be. It’s a bit useless really for us programmers!

The ARM1176JZ-F Technical Reference manual is available for free from ARM and is a useful tool to have in your box.

Getting started with the Rapsberry Pi

Rescuing an SD Card

It’s not so much rescuing, more restructuring. However, when your 16Gb card appears to have only 200Mb capacity or similar it would appear like rescuing it! Generally when you image an SD card for booting the raspberry pi, you’ll have a small FAT partition. This is the only partition that Windows can see, and so the size of this partition is what Windows believes is the entire capacity of the card.

In Windows ( 7 ) you can start a command prompt and restructure the SD Card using DISKPART. In order to see the complete size of the card, the card needs to be FAT formatted.

First, we need to delete all partitions on the disk, and then we can create a new partition which uses the entire disk space. Once this partition is made, we can format the card to create the FAT filesystem and the capacity will be restored for re-imaging.

First, run diskpart from the command prompt:


You’ll get something like the following (but with more disks listed!)

diskpart is a tool to manage disk volumes and partitions. Next, we need a list of all the disks present:

[code]list disk[/code]

You’ll get an enumerated list of disks showing their capacity. You’ll need to select which ever disk relates to the SD card. The capacity listed here will be the correct card capacity. Although it is not exact. For example my Lexar 16Gb carb enumerates as 14.9Gb. Once you know what disk you need to be adjusting, you can select it. In my case the disk in the list relating to my SD Card is disk 2.

[code]select disk 2[/code]

Next, get a list of partitions:

[code]list partition[/code]

We need to delete each partition, but note that the partition numbers can change as you delete each partition so you’ll need to repeat the list, select and delete operations until there are no partitions on the disk.

[code]select partition 1
delete partition
list partition[/code]

Repeat the above until there are no partitions left, and then create a primary partition which spans the entire disk:

[code]create partition primary[/code]

Configuring the Pi as a Media Player


Raspbmc is the project to use as a media player. VLC under the standard debian squeeze install will work, but it really struggles with playing any video content! XBMC can be used with remote controls and has a nice media-player interface. The interface runs very slick.

If you want to setup samba shares outside of xbmc (for example, mount a share to copy files across to the SD card) then make sure you grab smbfs first, and then you can mount your remote nas folder. Use PuTTY or similar ssh software to connect to the RaspberryPi and then you can install smbfs and mount your nas drive.

sudo apt-get install smbfs
sudo mount -t smbfs // /mnt -o uid=1000,gid=1000

To use SMB shares within XBMC, you can simply type in the location of the samba share directly, like: smb:// and XBMC will be able to connect to the share fine (without the need to sudo apt-get install smbfs!)

OpenElec Media Player

OpenElec is a project to get XBMC onto as many hardware platforms as possible. It’s a project to make a minimalist install to begin with – just what you need to get started so that it boots quickly into XBMC. From there, you can customise as you see fit for your application. OpenElec quickly commited to bringing a Raspberry Pi port of XBMC and they provide a complete build solution which can be run under Linux to build a complete image.

It’s easy if you want to build the latest and greatest, just follow their excellent instructions over on their wiki

Main Pi Firmware

There are up-to-date binaries of the firmware available on github – the main repository is also there

Quake 3

The easiest way to run Quake 3 is to grab the binary package from here. Install the Raspberry Pi standard Debian Squeeze install and extract the quake 3 archive in to the /home/pi/ folder. Exit the GUI environment and run /home/pi/quake3/start.sh from the terminal and start enjoying quake! There is no analogue sound option – only HDMI as far as I’m aware. If you know how to enable analogue audio please let me know and I can update it here.

Amiga Emulation (PUAE)

Getting PUAE Amiga Emulation up and running is also possible (albiet a little slow tbh!), but I’m sure it’s possible to get it much faster. GnoStiC has it running faster as far as I can tell anyway!

One thought on “Raspberry Pi

Leave a Reply