Draai Kodi 15.2 onder raspbian jessie
Tja, doe je een upgrade naar raspbian jessie en dan kom je erachter dat er geen kodi (xbmc) meer in de repo zit. Het handigst is om te wachten tot dit wel zo is, en gewoon op wheezy/kodi 14 te blijven. Maar voor de hardcore gebruikers hier een upgrade naar kodi 15.2.
Aangezien er flink gesleuteld wordt hieraan bestaat de mogelijkheid dat eea niet 1:1 werkt en je zelf hier links en rechts wat extra (kleine) correcties moet doorvoeren (of dat wat dingen hieronder vermeld niet meer nodig zijn). Maar dat mag een hardcore gebruiker niet tegen houden. De essentie is hetzelfde en veranderd niet. Kom je er niet uit...je weet me te vinden ;)
Paar overdenkingen
Note: Je hebt een aantal extra libs nodig die ook nog niet in de repo zitten, althans in nov-15. Ze staan wel in debian jessie backports, echter heeft raspbian geen officiele backports repo. Je zou de debian jessie backports kunnen toevoegen om de source packages te downloaden en vervolgens deze te compileren onder raspbian (en dan de backports repo weer te verwijderen uit je apt sources). Hier is echter gekozen om de sources gewoon uit git te halen en indien mogelijk wel de debian package (deb) te bouwen. Indien je dit niet wil: vervang 'dpkg-buildpackage' door :
./configure (eventueel ergens anders, /opt, installeren met --prefix /opt ) make sudo make install
Note: Debian (raspbian) heeft ffmpeg support gedropt, je krijgt nu libav wat een ffmpeg fork is. Kodi gebruikt eigen meegeleverde libraries voor ffmpeg.
Note: heb dit gedaan op een rpi1, en dat gaat niet snel. Alternatief is het cross compilen op een andere machine. Maar dan moet je alle dependecies ook downloaden en compileren!
En compileer NIET op je flashkaart want dan kon hij nog wel eens sneuvelen (wear&tear), mount gewoon even een netwerk schijf. En we gebruiken hier screen om ervoor te zorgen dat je je remote shell kunt verlaten (zonder de sessie te beindigen) om later weer te zien of hij klaar is.
En zorg voor een goede voeding en zoveel mogelijk memory, we doen namelijk gelijk een stress test op de pi ;) Je kan rare problemen krijgen als de spanning inzakt of uit je geheugen loopt.
Als er een stap niet lukt en je moet wat corrigeren, download de source opnieuw, maak de aanpassing en configureer/compileer opnieuw. Er zijn compileer opdrachten om op te schonen echter geven die niet altijd voorspelbaar resultaat. Met als gevolg dat je wijziging niet worden meegenomen en je onnodig veel tijd verbrand met zoeken en achter je hoofd krabben.
Documentatie:
De installatie
Installeer de basis benodigheden en start een screen sessie:
sudo rpi-update sudo apt-get udate sudo apt-get install git build-essential equivs screens screens -S kodi15en hier wat essentials over screen, je hebt ze nodig want kodi compileren op een pi duurt een paar uur:
screen -S kodi15 -> creeer een sessie genaamd kodie15 (of zonder argument en dan ctrl-a, sessionname kodi15) ctrl-a d -> detach, uit sessie maar sessie draait gewoon door screen -ls -> alle screen sessies screen -r kodi15 -> re-atach, verbind opnieuw met de kodi15 sessie exit -> sluit sessie
Download de laatste libcec/libplatform van git en compileer:
git clone --recursive git://github.com/Pulse-Eight/libcec.git sudo apt-get install liblockdev1-dev libxrandr-dev libraspberrypi-dev ##build libplatform cd libcec/src/platform #debian/changelog verander -1 in .1 voor de versie, anders krijg je een foutmelding sed -i "1s/\-/\./" debian/changelog dpkg-buildpackage -us -uc sudo dpkg -i ../libplatform1_1.0.10.1~trusty_armhf.deb sudo dpkg -i ../libplatform-dev_1.0.10.1~trusty_armhf.deb ##build libcec #fix changelog export DISTRIB_CODENAME=jessie sed "s/#DIST#/${DISTRIB_CODENAME}/g" debian/changelog.in > debian/changelog #debian/changelog verander -1 in .1 voor de versie, anders krijg je een foutmelding sed -i "1s/\-/\./" debian/changelog #fix the debian/rules file: append -DRPI_INCLUDE_DIR=/opt/vc/include -DRPI_LIB_DIR=/opt/vc/lib aan de cmake regel sed -i "s/cmake /cmake -DRPI_INCLUDE_DIR=\/opt\/vc\/include -DRPI_LIB_DIR=\/opt\/vc\/lib/ " debian/rules dpkg-buildpackage -us -ucControleer tijdens dpkg-buildpackage, onderstaande info. Met name de regel voor raspberry pi support, als die op 'no' staat wordt de /opt/vc/include niet herkend. Deze komt uit 'libraspberrypi-dev' en dan is bovenstaande fix op debian/rules niet goed gegaan: corrigeer dit zelf dan even.
-- Configured features: -- Pulse-Eight CEC Adapter: yes -- Pulse-Eight CEC Adapter detection: yes -- lockdev support: yes -- xrandr support: yes -- raspberry pi support: yes
Installeer de zojuist gemaakte debian packages
Ze staan in de map waar je de 'git clone' deedcd .. sudo dpkg -i cec-utils_3.0.1.1~jessie_armhf.deb libcec_3.0.1.1~jessie_armhf.deb libcec3_3.0.1.1~jessie_armhf.deb libcec-dev_3.0.1.1~jessie_armhf.deb python-libcec_3.0.1.1~jessie_armhf.deb
Download nu faac en compileer en installeer deze:
curl -#LO http://downloads.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz tar xzvf faac-1.28.tar.gz cd faac-1.28pas nu regel 126 in common/mp4v2/mpeg4ip.h aan naar het volgende:
char *strcasestr(const char *haystack, const char *needle); moet worden: #ifndef _STRING_H char *strcasestr(const char *haystack, const char *needle); #endifen ga verder met:
./configure make sudo make install sudo ldconfig