Building XBMC voor Raspbmc

Door kraades op dinsdag 4 september 2012 00:30 - Reacties (6)
CategorieŽn: Raspberry Pi, Raspbmc, Views: 7.799

Ik kwam erachter dat op dit moment er geen DVD/IFO support aanwezig is in de XBMC build. Om dit aan te zetten moet de onderstaande code in xbmc/cores/omxplayer/OMXPlayer.cpp worden verwijderd. Hierna moet XBMC opnieuw worden gecompileerd en op de RaspPi worden gezet.

code:
1
2
3
4
5
6
if (m_pInputStream && ( m_pInputStream->IsStreamType(DVDSTREAM_TYPE_DVD)
                       || m_pInputStream->IsStreamType(DVDSTREAM_TYPE_BLURAY) ) )
  {
    CLog::Log(LOGINFO, "COMXPlayer::OpenInputStream - DVD/BD not supported");
    return false;
  }


Je hebt een Linux installatie nodig. Ik heb zelf een bootable USB stick gemaakt met Ubuntu 12.04 Desktop 32-bit. Hoe dit moet staat hier beschreven.

Boot vanaf de USB stick.

Zorg dat je een netwerkverbinding hebt. Maak bijvoorbeeld een wireless verbinding door rechtsboven op het Wireless icon te klikken.

Start een Terminal sessie. Zoek deze eventueel via "Dash Home" (linksboven).

Referenties:Mochten er paden of iets dergelijks niet kloppen dan is het raadzaam om bovengenoemde referenties even na te lopen.

Start een root sessie en maak het build file system:
(let op dat je altijd het laatste build file system gebruikt)

ubuntu@ubuntu:~$ sudo su -
root@ubuntu:~# wget http://download.raspbmc.com/downloads/source/filesystem/buildfs-bcm_rootfs-raspbmc-i386_cross_r2-hardfp.tar.gz
root@ubuntu:~# mkdir ./buildfs
root@ubuntu:~# tar -xzf buildfs-bcm_rootfs-raspbmc* -C ./buildfs

Fix het netwerk:

root@ubuntu:~# cp /etc/network/interfaces ./buildfs/etc/network/interfaces
root@ubuntu:~# cp /etc/resolv.conf ./buildfs/etc/resolv.conf

Mount:

root@ubuntu:~# mount proc -t proc ./buildfs/proc
root@ubuntu:~# mount --bind /dev ./buildfs/dev

Git clone XBMC:
(als alternatief kun je ook hier downloaden)

root@ubuntu:~# cd ./buildfs
root@ubuntu:~/buildfs# apt-get install git
root@ubuntu:~/buildfs# git clone https://github.com/xbmc/xbmc
root@ubuntu:~/buildfs# cd

Voorbereiden van de omgeving:

root@ubuntu:~# chroot ./buildfs
root@ubuntu:/# apt-get update
root@ubuntu:/# apt-get install libgtk2.0-bin
root@ubuntu:/# export LANG=C

Patch en build XBMC:

root@ubuntu:/# cd xbmc
root@ubuntu:/xbmc# PATCHES="advancedsettings.patch
> depends.patch
> rssfeeds.patch
> setup-sdk.patch
> skin.patch"
root@ubuntu:/xbmc# for patch in $PATCHES
> do
>   wget http://svn.stmlabs.com/svn/raspbmc/patches/XBMC-hardfp/$patch
>   patch -p1 < $patch
>   rm $patch
> done
root@ubuntu:/xbmc# sh ./tools/rbp/setup-sdk.sh 
root@ubuntu:/xbmc# make -C ./tools/rbp/depends/xbmc
root@ubuntu:/xbmc# make -j 2
root@ubuntu:/xbmc# make install

Maak de XBMC tarball:

root@ubuntu:/xbmc# wget http://svn.stmlabs.com/svn/raspbmc/patches/nightly_scripts/create_tarball.sh
root@ubuntu:/xbmc# sh create_tarball.sh
root@ubuntu:/xbmc# cd

Kopieer de XBMC tarball naar de RaspPi en exit:
(waarbij 192.168.0.123 het IP-adres van de RaspPi is)

root@ubuntu:/# scp /opt/xbmc-rbp*.tar.gz pi@192.168.0.123:/home/pi
pi@192.168.0.123's password: raspberry
root@ubuntu:/# exit
exit
root@ubuntu:~# exit
logout
ubuntu@ubuntu:~$

Voer hierna op de RaspPi het volgende uit:

ubuntu@ubuntu:~$ ssh pi@192.168.0.123
pi@192.168.0.123's password: raspberry
pi@raspbmc:~$ sudo su -
root@raspbmc:~# initctl stop xbmc
root@raspbmc:~# tar -xzf /home/pi/xbmc-rbp*.tar.gz -C /opt
root@raspbmc:~# initctl start xbmc
root@raspbmc:~# exit
logout
pi@raspbmc:~$ exit
Connection to 192.168.0.123 closed.
ubuntu@ubuntu:~$

Herstart de RaspPi en controleer bij XBMC settings op je de nieuwe build draait.

In onderstaand geval is de build dus van 2 September 2012:

http://img18.imageshack.us/img18/6824/compilet.jpg