Building XBMC voor Raspbmc

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

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

Volgende: Cross compiling voor Synology 08-'15 Cross compiling voor Synology
Volgende: Raspberry Pi als XBMC media speler met OpenELEC 07-'12 Raspberry Pi als XBMC media speler met OpenELEC

Reacties


Door Tweakers user i-chat, dinsdag 4 september 2012 01:14

really???

en even op je desktop andere build headers plaatsen, en crosscompileren, in plaats van zo'n rasPI zich kapot te laten werken, was niet in je op gekomen?

nu heb ik dat voor arm nog niet eerder gedaan dus ook ik zou het aan google moeten vragen, maar zo heel moeilijk is het vziw niet.

Door Tweakers user kraades, dinsdag 4 september 2012 01:18

Hhmm, ik weet niet precies wat je bedoeld maar de compilatie vindt plaats op mijn notebook en hierna wordt de handel overgezet naar de RaspPi. Lijkt mij de meest efficiente manier.

Door Tweakers user i-chat, dinsdag 4 september 2012 09:14

sorry i sliep nog... - i dacht even dat je hem op je raspi zelf aan het compilen was :$ DOH...
...

Door Tweakers user kraades, dinsdag 4 september 2012 14:13

Het was ook laat... :z

Door andre, donderdag 13 december 2012 23:35

na make -C ./tools/rbp/depends/xbmc:

mkdir -p xbmc/interfaces/python/generated
/usr/bin/swig -w401 -c++ -o xbmc/interfaces/python/generated/AddonModuleXbmc.xml -xml -I./xbmc -xmllang python xbmc/interfaces/swig/AddonModuleXbmc.i
/usr/bin/java -cp "./lib/groovy/groovy-all-1.8.4.jar:./lib/groovy/commons-lang-2.6.jar:./tools/codegenerator:xbmc/interfaces/python" \
groovy.ui.GroovyMain ./tools/codegenerator/Generator.groovy xbmc/interfaces/python/generated/AddonModuleXbmc.xml xbmc/interfaces/python/PythonSwig.cpp.template xbmc/interfaces/python/generated/AddonModuleXbmc.cpp
/usr/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
make[1]: *** [xbmc/interfaces/python/generated/AddonModuleXbmc.cpp] Error 127
rm xbmc/interfaces/python/generated/AddonModuleXbmc.xml
make[1]: Leaving directory `/xbmc'
make: *** [configure] Error 2
make: Leaving directory `/xbmc/tools/rbp/depends/xbmc'
root@ubuntu:/xbmc# make -j 2
make: *** No targets specified and no makefile found. Stop.

Enig idee??

Door Tweakers user kraades, vrijdag 14 december 2012 09:24

Dit is met het laatste buildfs?

Reactie formulier
(verplicht)
(verplicht, maar wordt niet getoond)
(optioneel)

Voer de code van onderstaand anti-spam plaatje in: