Difference between revisions of "RPi XBMC"

From eLinux.org
Jump to: navigation, search
(Ways of installing XBMC: Ways of installing XBMC)
(Update URL)
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
WORK IN PROGRESS, PLEASE AMEND
+
=Installing XBMC on the raspberrypi=
 +
==Dedicated image==
 +
* [http://www.raspbmc.com/download/ raspbmc]
 +
* [http://wiki.openelec.tv/index.php?title=Installing_OpenELEC_on_Raspberry_Pi openelec]
 +
* [http://xbian.org/downloads/ xbian]
 +
* Other [http://elinux.org/RPi_Distributions#Available_Distributions distributions]
  
 +
==Main apt repository==
 +
* Not available for Debian wheezy yet
  
 +
==3rd party apt source==
  
As I can't find a decent one-page overview of how to get XBMC working on the Raspberry Pi without resorting to downloading a dedicated image, this page should give everyone a hand getting set up (that is, if I am successful...)
+
http://michael.gorven.za.net/raspberrypi/xbmc
  
The goal is to be able to run XBMC either standalone or under LXDE from the Foundation's Raspbian image.
+
    sudo echo "deb http://archive.mene.za.net/raspbian wheezy contrib" > /etc/apt/sources.list.d/mene.list
 +
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
 +
    sudo apt-get update
 +
    sudo apt-get install xbmc
  
This guide combines e.g.
+
==Installing from a .deb==
* http://www.raspbian.org/RaspbianXBMC
+
{| class="sortable wikitable"
* http://debian.raspbian.com/qemu/README.txt
+
|-
* http://linuxclues.blogspot.com/2007/06/installing-qemu-on-windows-vista.html
+
! maintaner
* http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/
+
! Latest build
* http://www.raspbmc.com/wiki/technical/building-xbmc/
+
|-
* http://wiki.xbmc.org/index.php?title=HOW-TO_compile_XBMC_for_Linux_from_source_code
+
! [http://selfprogramming.bplaced.net/index.php/2012/10/05/new-xbmcdeb-mainline-tree-for-raspberry-pi/comments/ nIerSify]
* http://wiki.xbmc.org/index.php?title=HOW-TO_compile_XBMC_for_Linux_on_Debian/Ubuntu
+
! 2012-10-04 19:12:29
 +
|-
 +
! [https://github.com/RB-tomaz/xbmc-rdp-tomaz tomaz]
 +
! 2012-07-29 08:40:32
 +
|-
 +
! [http://www.memetic.org/pre-compiled-xbmc-for-raspbian/ memetic]
 +
! 2012-07-15 14:46:43
 +
|}
  
=Ways of installing XBMC=
+
===nIerSify===
* Use a dedicated image [http://www.raspbmc.com/download/ raspbmc] or [http://wiki.openelec.tv/index.php?title=Installing_OpenELEC_on_Raspberry_Pi openelec]
+
sudo su
* Getting XBMC from the repos (doesn't work in Wheezy)
+
apt-get update
* Adding a 3rd party apt source (none available yet)
+
apt-get -y upgrade
* Installing a .deb [http://selfprogramming.bplaced.net/index.php/2012/10/05/new-xbmcdeb-mainline-tree-for-raspberry-pi/comments/ nIerSify]
+
apt-get install libplist1 libmicrohttpd10 libtinyxml2.6.2 libyajl2 libssh-4 libmysqlclient18 liblzo2-2 libfribidi0 libcurl3-gnutls liblockdev1 libpcrecpp0
* Building XBMC on the raspi (takes a long time)
+
cd /opt/
* Building XBMC on a x86 machine (Qemu or cross compile)
+
wget http://downloads.sourceforge.net/project/selfprogramming/XBMC.deb/xbmc_20121004-1_armhf.deb?r=&ts=1350246473&use_mirror=voxel -O xbmc_selfprogramming.deb
 +
wget http://downloads.sourceforge.net/project/selfprogramming/libs/taglib_20121005-1_armhf.deb?r=http%3A%2F%2Fselfprogramming.bplaced.net%2Findex.php%2F2012%2F10%2F05%2Fnew-xbmcdeb-mainline-tree-for-raspberry-pi%2Fcomments%2F&ts=1350248927&use_mirror=iweb -O taglib_20121005-1_armhf.deb
 +
wget http://downloads.sourceforge.net/project/selfprogramming/libs/libshairport_1-1202030-1_armhf.deb?r=http%3A%2F%2Fselfprogramming.bplaced.net%2Findex.php%2F2012%2F10%2F05%2Fnew-xbmcdeb-mainline-tree-for-raspberry-pi%2Fcomments%2F&ts=1350248928&use_mirror=iweb -O libshairport_1-1202030-1_armhf.deb
 +
dpkg -i taglib_20121005-1_armhf.deb
 +
dpkg -i libshairport_1-1202030-1_armhf.deb
 +
cd /usr/local/lib/
 +
ln -s libtag.so.1.12.0 libtag.so.1
 +
ln -s libtag.so.1 libtag.so
 +
cd /usr/lib/
 +
ln -s /usr/local/lib/libtag.so.1.12.0 libtag.so.1
 +
ln -s /usr/local/lib/libcec.so.1 ./libcec.so.1
 +
cd /opt
 +
dpkg -i xbmc_selfprogramming.deb
 +
mv /usr/lib/arm-linux-gnueabihf/libtag.so.1.7.2 /usr/lib/arm-linux-gnueabihf/libtag.so.1.7.2.old
 +
mv /usr/lib/arm-linux-gnueabihf/libtag.so.1 /usr/lib/arm-linux-gnueabihf/libtag.so.1.old
 +
cp /boot/arm128_start.elf /boot/start.elf
 +
shutdown -r now
 +
clear;/usr/lib/xbmc/xbmc.bin
  
==Building XBMC from source using Qemu==
+
==Building on the raspberrypi==
Since it is unbelievably slow to build XBMC on the Raspberry Pi, I used a Windows machine with Qemu to do the build. Ubuntu cross-compile should work to0, but I didn't try it yet...
+
(takes a long time)
 +
* [http://www.raspbian.org/RaspbianXBMC RaspbianXBMC]
  
===Preparation===
+
==Building on a x86==
 +
(more complicated then building on the raspberrypi)
 +
===Qemu===
 +
====Windows====
 
* Get 'Putty' (Windows Installer) from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
 
* Get 'Putty' (Windows Installer) from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
 
* Get latest 'Qemu-1.2.0-rc0-windows.zip' from http://lassauge.free.fr/qemu/  
 
* Get latest 'Qemu-1.2.0-rc0-windows.zip' from http://lassauge.free.fr/qemu/  
Line 33: Line 72:
 
* Get most recent Raspbian image ('2012-09-18 Wheezy' at time of writing) from http://www.raspberrypi.org/downloads (The Foundation's version of Raspbian)
 
* Get most recent Raspbian image ('2012-09-18 Wheezy' at time of writing) from http://www.raspberrypi.org/downloads (The Foundation's version of Raspbian)
 
* Install OpenVPN to get a working Network TAP driver from http://openvpn.net/index.php/download/community-downloads.html (get the Windows installer)
 
* Install OpenVPN to get a working Network TAP driver from http://openvpn.net/index.php/download/community-downloads.html (get the Windows installer)
 
 
After installing OpenVPN follow this guide to create (remember it's name and make sure there's no spaces in it) a network TAP interface http://linuxclues.blogspot.com/2007/06/installing-qemu-on-windows-vista.html
 
After installing OpenVPN follow this guide to create (remember it's name and make sure there's no spaces in it) a network TAP interface http://linuxclues.blogspot.com/2007/06/installing-qemu-on-windows-vista.html
 
 
 
 
On Windows, create folder structure like so:
 
On Windows, create folder structure like so:
 
  D:\Qemu (holding the Qemu-1.2.0-rc0-windows.zip contents)
 
  D:\Qemu (holding the Qemu-1.2.0-rc0-windows.zip contents)
 
  D:\Qemu\Raspbian (holding the 'kernel-qemu' file and the Raspbian image)
 
  D:\Qemu\Raspbian (holding the 'kernel-qemu' file and the Raspbian image)
 
 
 
First you need to use qemu-img to resize the img file:
 
First you need to use qemu-img to resize the img file:
 
 
 
Usage is: qemu-img resize filename size
 
Usage is: qemu-img resize filename size
 
 
It helps to temporarily move the wheezy image into D:\Qemu
 
It helps to temporarily move the wheezy image into D:\Qemu
 
 
3.7G seems to be the max you can resize to.
 
3.7G seems to be the max you can resize to.
 
 
 
Open comandline and navigate to D:\Qemu
 
Open comandline and navigate to D:\Qemu
 
 
Example: qemu-img resize 2012-09-18-wheezy-raspbian.img 3.7G
 
Example: qemu-img resize 2012-09-18-wheezy-raspbian.img 3.7G
 
 
 
 
Then create a .bat file under D:\Qemu, containing the following launch string:
 
Then create a .bat file under D:\Qemu, containing the following launch string:
 
  qemu-system-armw.exe -M versatilepb -cpu arm1136 -m 1024 -kernel raspbian\kernel-qemu -hda raspbian\2012-09-18-wheezy-raspbian.img -net nic -net tap,ifname=TAP0 -append "root=/dev/sda2 panic=1" -serial stdio
 
  qemu-system-armw.exe -M versatilepb -cpu arm1136 -m 1024 -kernel raspbian\kernel-qemu -hda raspbian\2012-09-18-wheezy-raspbian.img -net nic -net tap,ifname=TAP0 -append "root=/dev/sda2 panic=1" -serial stdio
 
+
Note: Replace TAP0 with whatever your Tap interface is named.  I would suggest renaming it to something without spaces. ie. Tap0.
Note: Replace TAP0 with whatever your Tap interface is named.  I would suggest renaming it to something without spaces. ie. Tap0
+
Resize the Raspbian rootfs.
 
 
 
 
Resize the Raspbian rootfs:
 
 
 
 
 
 
 
 
Fix raspi-config resize issue with Qemu:
 
Fix raspi-config resize issue with Qemu:
 
 
  cp /usr/bin/raspi-config ~
 
  cp /usr/bin/raspi-config ~
 
  sed -i 's/mmcblk0p2/sda2/' ~/raspi-config                                                                               
 
  sed -i 's/mmcblk0p2/sda2/' ~/raspi-config                                                                               
 
  sed -i 's/mmcblk0/sda/' ~/raspi-config
 
  sed -i 's/mmcblk0/sda/' ~/raspi-config
 
  sudo ~/raspi-config
 
  sudo ~/raspi-config
 +
====Linux====
 +
* TODO
 +
===Cross compile===
 +
====Windows====
 +
* TODO
 +
====Linux====
 +
* TODO
  
 +
=References=
 +
* http://www.raspbian.org/RaspbianXBMC
 +
* http://debian.raspbian.com/qemu/README.txt
 +
* http://linuxclues.blogspot.com/2007/06/installing-qemu-on-windows-vista.html
 +
* http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/
 +
* http://www.raspbmc.com/wiki/technical/building-xbmc/
 +
* http://wiki.xbmc.org/index.php?title=HOW-TO_compile_XBMC_for_Linux_from_source_code
 +
* http://wiki.xbmc.org/index.php?title=HOW-TO_compile_XBMC_for_Linux_on_Debian/Ubuntu
  
 
http://www.raspbian.org/RaspbianXBMC
 
 
=References=
 
<references/>
 
  
 
{{Template:Raspberry Pi}}
 
{{Template:Raspberry Pi}}
 
[[Category:RaspberryPi]]
 
[[Category:RaspberryPi]]

Revision as of 00:34, 10 January 2013

Installing XBMC on the raspberrypi

Dedicated image

Main apt repository

  • Not available for Debian wheezy yet

3rd party apt source

http://michael.gorven.za.net/raspberrypi/xbmc

   sudo echo "deb http://archive.mene.za.net/raspbian wheezy contrib" > /etc/apt/sources.list.d/mene.list
   sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
   sudo apt-get update
   sudo apt-get install xbmc

Installing from a .deb

maintaner Latest build
nIerSify 2012-10-04 19:12:29
tomaz 2012-07-29 08:40:32
memetic 2012-07-15 14:46:43

nIerSify

sudo su
apt-get update
apt-get -y upgrade
apt-get install libplist1 libmicrohttpd10 libtinyxml2.6.2 libyajl2 libssh-4 libmysqlclient18 liblzo2-2 libfribidi0 libcurl3-gnutls liblockdev1 libpcrecpp0
cd /opt/
wget http://downloads.sourceforge.net/project/selfprogramming/XBMC.deb/xbmc_20121004-1_armhf.deb?r=&ts=1350246473&use_mirror=voxel -O xbmc_selfprogramming.deb
wget http://downloads.sourceforge.net/project/selfprogramming/libs/taglib_20121005-1_armhf.deb?r=http%3A%2F%2Fselfprogramming.bplaced.net%2Findex.php%2F2012%2F10%2F05%2Fnew-xbmcdeb-mainline-tree-for-raspberry-pi%2Fcomments%2F&ts=1350248927&use_mirror=iweb -O taglib_20121005-1_armhf.deb
wget http://downloads.sourceforge.net/project/selfprogramming/libs/libshairport_1-1202030-1_armhf.deb?r=http%3A%2F%2Fselfprogramming.bplaced.net%2Findex.php%2F2012%2F10%2F05%2Fnew-xbmcdeb-mainline-tree-for-raspberry-pi%2Fcomments%2F&ts=1350248928&use_mirror=iweb -O libshairport_1-1202030-1_armhf.deb
dpkg -i taglib_20121005-1_armhf.deb
dpkg -i libshairport_1-1202030-1_armhf.deb
cd /usr/local/lib/
ln -s libtag.so.1.12.0 libtag.so.1
ln -s libtag.so.1 libtag.so
cd /usr/lib/
ln -s /usr/local/lib/libtag.so.1.12.0 libtag.so.1
ln -s /usr/local/lib/libcec.so.1 ./libcec.so.1
cd /opt
dpkg -i xbmc_selfprogramming.deb
mv /usr/lib/arm-linux-gnueabihf/libtag.so.1.7.2 /usr/lib/arm-linux-gnueabihf/libtag.so.1.7.2.old
mv /usr/lib/arm-linux-gnueabihf/libtag.so.1 /usr/lib/arm-linux-gnueabihf/libtag.so.1.old
cp /boot/arm128_start.elf /boot/start.elf
shutdown -r now
clear;/usr/lib/xbmc/xbmc.bin

Building on the raspberrypi

(takes a long time)

Building on a x86

(more complicated then building on the raspberrypi)

Qemu

Windows

After installing OpenVPN follow this guide to create (remember it's name and make sure there's no spaces in it) a network TAP interface http://linuxclues.blogspot.com/2007/06/installing-qemu-on-windows-vista.html On Windows, create folder structure like so:

D:\Qemu (holding the Qemu-1.2.0-rc0-windows.zip contents)
D:\Qemu\Raspbian (holding the 'kernel-qemu' file and the Raspbian image)

First you need to use qemu-img to resize the img file: Usage is: qemu-img resize filename size It helps to temporarily move the wheezy image into D:\Qemu 3.7G seems to be the max you can resize to. Open comandline and navigate to D:\Qemu Example: qemu-img resize 2012-09-18-wheezy-raspbian.img 3.7G Then create a .bat file under D:\Qemu, containing the following launch string:

qemu-system-armw.exe -M versatilepb -cpu arm1136 -m 1024 -kernel raspbian\kernel-qemu -hda raspbian\2012-09-18-wheezy-raspbian.img -net nic -net tap,ifname=TAP0 -append "root=/dev/sda2 panic=1" -serial stdio

Note: Replace TAP0 with whatever your Tap interface is named. I would suggest renaming it to something without spaces. ie. Tap0. Resize the Raspbian rootfs. Fix raspi-config resize issue with Qemu:

cp /usr/bin/raspi-config ~
sed -i 's/mmcblk0p2/sda2/' ~/raspi-config                                                                              
sed -i 's/mmcblk0/sda/' ~/raspi-config
sudo ~/raspi-config

Linux

  • TODO

Cross compile

Windows

  • TODO

Linux

  • TODO

References