Difference between revisions of "RPi XBMC"

From eLinux.org
Jump to: navigation, search
(Building XBMC from source using Qemu)
(Comparison)
(20 intermediate revisions by 6 users not shown)
Line 1: Line 1:
WORK IN PROGRESS, PLEASE AMEND
+
=Comparison=
  
 +
{| class="sortable wikitable"
 +
|-
 +
! Distribution
 +
! Latest build
 +
! Notes
 +
|-
 +
| [http://michael.gorven.za.net/raspberrypi/xbmc Mene]
 +
|
 +
|
 +
|-
 +
| [http://www.raspbmc.com/download/ raspbmc]
 +
| 2013-02-22
 +
| broken youtube plugin
 +
|-
 +
| [http://wiki.openelec.tv/index.php?title=Installing_OpenELEC_on_Raspberry_Pi openelec]
 +
| 2013-03-12
 +
| audio pop issue
 +
|-
 +
| [http://xbian.org/downloads/ xbian]
 +
| 2013-02-20
 +
|
 +
|-
 +
| [http://selfprogramming.bplaced.net/ nIerSify]
 +
| 2012-12-26 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
 +
|
 +
|-
 +
|[http://www.sshcs.com/xbmc TheQuestor]
 +
| ?
 +
|
 +
|-
 +
|}
  
 +
=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]
  
As I can't find a decent 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...)
+
==Main apt repository==
 +
* Not available for Debian wheezy yet
  
=Ways of installing XBMC=
+
==3rd party apt source==
Getting XBMC from the repos (doesn't work in Wheezy)
+
Building XBMC on the raspi (takes a long time)
+
Building XBMC on a Windows machine (Qemu)
+
  
So far I haven't got it running...
+
http://michael.gorven.za.net/raspberrypi/xbmc
  
==Building XBMC from source using Qemu==
+
    sudo echo "deb http://archive.mene.za.net/raspbian wheezy contrib" > /etc/apt/sources.list.d/mene.list
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...
+
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
 +
    sudo apt-get update
 +
    sudo apt-get install xbmc
  
===Preparation===
+
==Installing from a .deb==
 +
{| class="sortable wikitable"
 +
|-
 +
! maintaner
 +
! Latest build
 +
|-
 +
| [http://selfprogramming.bplaced.net/ nIerSify]
 +
| 2012-12-26 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
 +
|-
 +
|[http://www.sshcs.com/xbmc TheQuestor]
 +
|
 +
|-
 +
|}
 +
 
 +
===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)
 +
* [http://www.raspbian.org/RaspbianXBMC RaspbianXBMC]
 +
 
 +
==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 for Windows' from http://www.h7.dion.ne.jp/~qemu-win/  
+
* Get latest 'Qemu-1.2.0-rc0-windows.zip' from http://lassauge.free.fr/qemu/  
 
* Get 'kernel-qemu' from http://xecdesign.com/downloads/linux-qemu/kernel-qemu (Interesting read: http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/)
 
* Get 'kernel-qemu' from http://xecdesign.com/downloads/linux-qemu/kernel-qemu (Interesting read: http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/)
* Get most recent Raspbian image ('2012-07-15 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 for Windows 1.0.1+ 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:
 +
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:
 
Then create a .bat file under D:\Qemu, containing the following launch string:
  qemu-system-arm.exe -M versatilepb -cpu arm1136 -m 1024 -kernel raspbian\kernel-qemu -hda raspbian\2012-07-15-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.
 
+
Resize the Raspbian rootfs.
 
+
Resize the Raspbian image
+
 
+
 
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:25, 22 March 2013

Comparison

Distribution Latest build Notes
Mene
raspbmc 2013-02-22 broken youtube plugin
openelec 2013-03-12 audio pop issue
xbian 2013-02-20
nIerSify 2012-12-26 19:12:29
tomaz 2012-07-29 08:40:32
memetic 2012-07-15 14:46:43
TheQuestor  ?

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-12-26 19:12:29
tomaz 2012-07-29 08:40:32
memetic 2012-07-15 14:46:43
TheQuestor

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