How to compile xbmc on the Raspberry Pi Platform

Source: Internet
Author: User

-----------------------------------------------------------------------------
1. Update Kernel & firmware and reboot
-----------------------------------------------------------------------------
Sudo apt-Get update
Sudo apt-Get upgrade

-----------------------------------------------------------------------------
2. Install/upgrade build tools and dependencies
-----------------------------------------------------------------------------
Sudo apt-Get install build-essential Autoconf ccache gawk gperf Mesa-utils zip unzip libtool
Sudo apt-Get install autotools-dev comerr-dev dpkg-dev libalsaplayer-dev \
Libapt-PKG-Dev: armhf libasound2-dev: armhf libass-Dev: armhf libatk1.0-dev \
Libavahi-client-dev libavahi-common-dev libavcodec-dev libavformat-dev \
Libavutil-dev libbison-Dev: armhf libbluray-Dev: armhf libboost1.49-dev \
Libbz2-dev: armhf libc-Dev-bin libc6-dev: armhf libcaca-dev libcairo2-dev \
Libcdio-dev libclalsadrv-dev libcrypto ++-dev libcups2-dev libcurl3-gnutls-dev \
Libdbus-1-dev libdbus-glib-1-dev libdirectfb-dev libdrm-dev libegl1-mesa-dev \
Libelf-dev libenca-dev libept-dev libevent-dev libexpat1-dev libflac-Dev: armhf \
Libfontconfig1-dev libfreetype6-dev libfribidi-dev libgconf2-dev \
Libgcrypt11-dev libgdk-pixbuf2.0-dev libgl1-mesa-dev libgles2-mesa-dev \
Libglew-Dev: armhf libglewmx-Dev: armhf libglib2.0-dev libglu1-mesa-dev \
Libgnome-keyring-dev libgnutls-dev libgpg-error-dev libgtk2.0-dev libhal-dev \
Libhunspell-Dev: armhf libice-Dev: armhf libicu-dev libidn11-dev libiso9660-dev \
Libjasper-dev libjbig-Dev: armhf libjconv-dev libjpeg8-dev: armhf libkrb5-dev \
Libldap2-dev: armhf libltdl-Dev: armhf liblzo2-dev libmad0-dev libmicrohttpd-dev \
Libmodplug-dev libmp3lame-dev: armhf libmpeg2-4-dev libmysqlclient-dev \
Libncurses5-dev libnspr4-dev libogg-Dev: armhf libopenal-Dev: armhf \
Libp11-kit-dev libpam0g-dev: armhf libpango1.0-dev libpcre ++-dev libpcre3-dev \
Libpixman-1-dev libpng12-dev libprotobuf-dev libpthread-stubs0-dev: armhf \
Libpulse-Dev: armhf librtmp-dev libsamplerate0-dev: armhf \
Libsdl-image1.2-dev: armhf libsdl1.2-dev libslang2-dev: armhf \
Libsm-Dev: armhf libsmbclient-Dev: armhf libspeex-Dev: armhf \
Libsqlite3-dev libssh-dev libssh2-1-dev libssl-dev libstdc ++ 6-4.6-dev \
Libtagcoll2-dev libtasn1-3-dev libtiff4-dev libtinfo-Dev: armhf libtinyxml-dev \
Libts-Dev: armhf libudev-dev libv8-dev libva-Dev: armhf libvdpau-Dev: armhf \
Libvorbis-Dev: armhf libvpx-Dev: armhf libwebp-Dev: armhf libwibble-dev \
Libx11-dev: armhf libx11-xcb-dev libxapian-dev libxau-Dev: armhf \
Libxcb-glx0-dev: armhf libxcb-render0-dev: armhf libxcb-shm0-dev: armhf \
Libxcb1-dev: armhf libxcomposite-dev libxcursor-Dev: armhf libxdamage-dev \
Libxdmcp-Dev: armhf libxext-Dev: armhf libxfixes-dev libxft-dev libxi-dev \
Libxinerama-Dev: armhf libxml2-dev: armhf libxmu-Dev: armhf libxrandroid-dev \
Libxrender-Dev: armhf libxslt1-dev libxss-Dev: armhf libxt-Dev: armhf \
Libxtst-Dev: armhf libxxf86vm-dev libyajl-dev libzip-dev Linux-libc-Dev: armhf \
Lzma-dev Mesa-common-dev Python-dev python2.7-dev x11proto-composite-dev \
X11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev \
X11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev \
X11proto-record-dev x11proto-render-dev x11proto-scrnsaver-dev \
X11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xtrans-dev \
Zlib1g-dev: armhf.
Sudo apt-Get clean

 

-----------------------------------------------------------------------------
3. Copy/opt/VC/include to/usr/include
-----------------------------------------------------------------------------
Sudo CP-r/opt/VC/include/*/usr/include
Sudo CP/opt/VC/include/interface/VCOs/pthreads/*/usr/include/interface/VCOs

 

-----------------------------------------------------------------------------
4. Create Symbolic Links for libegl and libglesv2 from/opt/VC/lib to/usr/lib and/usr/lib/ARM-Linux-gnueabihf
-----------------------------------------------------------------------------
Sudo ln-fs/opt/VC/lib/libegl. So/usr/lib/libegl. So
Sudo ln-fs/opt/VC/lib/libegl. So/usr/lib/ARM-Linux-gnueabihf/libegl. So
Sudo ln-fs/opt/VC/lib/libegl. So/usr/lib/ARM-Linux-gnueabihf/libegl. so.1
Sudo ln-fs/opt/VC/lib/libegl_static.a/usr/lib/libegl_static.a
Sudo ln-fs/opt/VC/lib/libegl_static.a/usr/lib/ARM-Linux-gnueabihf/libegl_static.a
Sudo ln-fs/opt/VC/lib/libglesv2.so/usr/lib/libglesv2.so
Sudo ln-fs/opt/VC/lib/libglesv2.so/usr/lib/ARM-Linux-gnueabihf/libglesv2.so
Sudo ln-fs/opt/VC/lib/libglesv2.so/usr/lib/ARM-Linux-gnueabihf/libglesv2.so. 2
Sudo ln-fs/opt/VC/lib/libglesv2_static.a/usr/lib/libglesv2_static.a
Sudo ln-fs/opt/VC/lib/libglesv2_static.a/usr/lib/ARM-Linux-gnueabihf/libglesv2_static.a
Sudo ln-fs/opt/VC/lib/libbcm_host.so/usr/lib/libbcm_host.so
Sudo ln-fs/opt/VC/lib/libbcm_host.so/usr/lib/ARM-Linux-gnueabihf/libbcm_host.so
Sudo ln-fs/opt/VC/lib/libvchiq_arm.a/usr/lib/libvchiq_arm.a
Sudo ln-fs/opt/VC/lib/libvchiq_arm.a/usr/lib/ARM-Linux-gnueabihf/libvchiq_arm.a
Sudo ln-fs/opt/VC/lib/libvchiq_arm.so/usr/lib/libvchiq_arm.so
Sudo ln-fs/opt/VC/lib/libvchiq_arm.so/usr/lib/ARM-Linux-gnueabihf/libvchiq_arm.so
Sudo ln-fs/opt/VC/lib/libvcos. A/usr/lib/libvcos.
Sudo ln-fs/opt/VC/lib/libvcos. A/usr/lib/ARM-Linux-gnueabihf/libvcos.
Sudo ln-fs/opt/VC/lib/libvcos. So/usr/lib/libvcos. So
Sudo ln-fs/opt/VC/lib/libvcos. So/usr/lib/ARM-Linux-gnueabihf/libvcos. So

-----------------------------------------------------------------------------
5. Get the latest xbmc from git
-----------------------------------------------------------------------------
Git clone -- depth 1 git: // github.com/xbmc/xbmc-rbp.git

 

-----------------------------------------------------------------------------
6. Prepare the xbmc code for compilation
-----------------------------------------------------------------------------
CD xbmc-RBP/
Sed-I's/use_buildroot = 1/use_buildroot = 0/'tools/RBP/setup-sdk.sh
Sed-I's/toolchain =\/ USR \/Local \/BCM-gcc/toolchain =\/ usr/'tools/RBP/setup-sdk.sh
Sudo sh tools/RBP/setup-sdk.sh
Sed-I's/CD $ (source); $ (configure)/# cd $ (source); $ (configure)/'tools/RBP/depends/xbmc/makefile

-----------------------------------------------------------------------------
7. Build the xmbc build tools
-----------------------------------------------------------------------------
Make-C tools/RBP/depends/xbmc/

-----------------------------------------------------------------------------
8. Configure xbmc
-----------------------------------------------------------------------------
./Configure -- prefix =/usr -- Build = arm-Linux-gnueabihf -- Host = arm-Linux-gnueabihf \
-- Localstatedir =/var/lib -- With-platform = raspberry-pi -- disable-gl -- enable-gles \
-- Disable-x11 -- disable-SDL -- enable-ccache -- enable-optimizations \
-- Enable-external-libraries -- disable-goom -- disable-Hal -- disable-pulse \
-- Disable-vaapi -- disable-vdpau -- disable-xrandroid -- disable-airplay \
-- Disable-ALSA -- enable-avahi -- disable-libbluray -- disable-dvdcss \
-- Disable-Debug -- disable-joystick -- enable-mid -- disable-NFS -- disable-profiling \
-- Disable-projectm -- enable-rsxs -- enable-rtmp -- disable-vaapi \
-- Disable-vdadecoder -- disable-external-FFMPEG -- disable-optical-drive

setting
9. fix up some of the make files
using
SED-I's/-msse2 // 'lib/libsquish/makefile
SED-I's/-dsquish_use_sse = 2 // 'lib/libsquish/makefile
usage
10. Make xbmc
usage
> make
---------------------------------------------------------------------------
11. Install xbmc as root
quit
sudo make install

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.