The Raspberry Pi is a great little device with which you can easily use to create a Media Center with (Raspbmc, Openelec or Xbian) or an Retro Console with (Retropie). Unfortunately I couldn’t find a good write up on how to have both of these functions using the same SD card. So I decided to write one.
16gb+ SD Card (I will be using an 8gb SD card for this tutorial but this leaves you with very little space for roms)
USB Keyboard/SSH to run commands(Recommended)
Lets get started:
1.)Download and Extract NOOBS or NOOBS-lite(at the time of writing the latest version is 1.3.9), i will be using NOOBS lite due to the fact that I’m using an 8gb SD card and don’t want to waste space on Operating Systems i’m never going to use. Copy the extracted files to the root of your SD Card.
NOTE: In the current release the autoboot.txt feature which is what we will use to dual boot is broken, there is a fix that will be included in future releases but if a new version has not been released you will need to manually replace the bootcode.bin in the root of your SD Card with the one here. (Solution comes from https://github.com/raspberrypi/noobs/issues/195)
2.) Now we’re ready to install our operating systems. When you boot you should see the NOOBS OS install menu. We will want to select Raspbian and Raspbmc. Once selected you can go ahead and install. This process can take a while.Once the OS’s are installed a dialog box will come up and when you hit OK your Raspberry Pi will reboot into a selection screen. We will first setup Raspbmc side of things.
3.) Upon first boot allow Raspbmc to finish its setup and update then go through the Raspbmc on screen Configuration.
We now need Advanced Launcher so we run
When its done install the repository by going to System>>Add-ons>Install from zip file>>Home Folder then go to Add-ons>>Get Addons>>Angelscry Repository>>Program Add-ons and install Advanced Launcher
With this done we need to create the script that we will launch with Advanced Launcher
sudo nano RetroPie.sh
With the following contents:
sudo sed -i 's/5/7/g' /media/RECOVERY/autoboot.txt
Make it executable
sudo chmod +x RetroPie.sh
Now we create out autoboot.txt
sudo nano /media/RECOVERY/autoboot.txt
Add the line:
Now open Advanced Launcher
Select Default>>Standalone Launcher >>Home folder >> RetroPie.sh
Leave Application Arguments Blank, set the title as you wish, platform doesn’t matter, i chose Linux, i did not provide a thumbnail or fan art (just select OK)
With that done I recommend you add the newly created launcher to your favorites to avoid having to dig for it every time you want to switch.
Now you can go ahead and run this from your favorites on xbmc(Star Icon on default skin near shutdown button) and your raspberry pi should reboot to Raspbian.
Now for the Raspbian(Retropie) Side.
4.)When done booting you will see raspi-config, there are a few settings we want to change here. First you will want to change the Overclock Settings, I chose medium but you can experiment and see what works best for you. Next you want to go to Advanced Settings and change the memory split I’m using a Raspberry B with 512mb so I make it 256 but again it helps to experiment and find what works best.
(Optional) Enable autoboot to desktop, this makes it much easier to setup Wireless Settings
Finish and Reboot into Raspbian.
(Optional) Configure your Wireless settings
5.) We will now use the Retro-Pie-Setup Script from petrockblog to setup emulation station and our emulators I will be following the instructions at: https://github.com/petrockblog/RetroPie-Setup step by step so head there for the most up-to-date install instructions
In the terminal: Update Raspbian and install git
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y git dialog
Then use git to download the latest Retropie Script:
git clone --depth=0 git://github.com/petrockblog/RetroPie-Setup.git
Once this is done we will make the script executable and run it:
chmod +x retropie_setup.sh
Now select an installation method(binaries or source based) and wait for it to complete.
Once installation is finished we want EmulationStation to start on boot so go to Setup(only if you have run one of the installations above) and select Auto-Start EmulationStation and select Option 2 Start Emulation Station at boot.
6.) Now that we have Emulationstation and our Emulators configured we will want to add the option to switch to Raspbmc. To do this I created a separate “system” for EmulationStation called apps by editing the es_systems.cfg file.
sudo nano /etc/emulationstation/es_systems.cfg
I added the following before </systemList>:
We then make the apps directory, a directory our script uses to mount our Recovery partition, and add our script:
sudo mkdir ~/RetroPie/roms/apps
sudo mkdir /media/RECOVERY/
sudo nano Raspbmc.sh
sudo mount /dev/mmcblk0p1 /media/RECOVERY/
sudo sed -i 's/7/5/g' /media/RECOVERY/autoboot.txt
We then make our script executable and allow it to run as root:
sudo chmod +x /home/pi/RetroPie/roms/apps/Raspbmc.sh
add the following to the end of the file:
pi ALL=NOPASSWD: /home/pi/RetroPie/roms/apps/Raspbmc.sh
We are done with the Raspbian/Retropie Side of things after a reboot you should see emulationstation with an apps category with one entry called Raspbmc which when selected will reboot your pi and start Raspbmc. At this point you can add roms/edit the Raspbmc entries metadata and edit the theme of Emulation Station to make it look better. I won’t be going through that or sharing my theme files as i’m not very good at creating graphics and I don’t know what the usage terms for the images I used are(i just did a google image search and grabbed the files). I used the theme files for Ports as my base and edited from there.
In case anyone else wants them these are the other two scripts I have in my roms/apps folder:
Pair PS3 Controller.sh(this only works after setting up PS3 controller driver using the retropie-setup script)
We have finished this process, you are ready to make setup the rest of retropie (great guide is being written by Jessie at RetroPie ver 2.3. The Pictoral Primer.)
and customize xbmc as you see fit! Have Fun!
EDIT: Video as requested.
Aloshi for Emulation Station
Petrockblog for a great script which makes this so much easier
Sam Nazarko for Raspbmc
The Rasperry Pi Foundation for an awesome little computer
Any developers I might have missed.