TOC 1. Introduction 2. Prerequisites 3. Building 4. Installing 5. How to run 6. References 7. Discussion & Development ----------------------------------------------------------------------------- 1. Introduction ----------------------------------------------------------------------------- The goal of this project is to get Kodi running smoothly on the Boxee Box. The build scripts will download, compile and install all dependencies, including cross compilers. In other words, you don't need to have any Boxeebox or Kodi related code or SDK's installed on your system and even if you had they won't be used. Successful build environments have included OSX 10.10 and Ubuntu. ----------------------------------------------------------------------------- 2. Prerequisites ----------------------------------------------------------------------------- Your system must be capable of executing "configure" scripts and your filesystem needs to be case sensitive. An appropriate apt-get line is: sudo apt-get install cmake make gcc texinfo gawk bison flex swig default-jre gperf nasm automake autoconf autopoint libtool libsdl1.2-dev libsdl-image1.2-dev liblzo2-dev liblockdev1-dev libxslt1-dev libxml2-dev libncurses5-dev libmysqlclient-dev libavahi-compat-libdnssd-dev libltdl-dev avahi-daemon intltool # OSX pre requisites A case sensitive file system is required, which you can create as a sparse disc image via the "Disc Utility". Having Homebrew installed (http://brew.sh/) is recommended to make prerequisite installation easier, but nothing in the build process requires it specifically. As my OSX setup wasn't clean I'm unsure of the exact tools needed to be installed, but the following would be a good start: brew install gcc intltool cmake bison flex swig automake autoconf autopoint libtool sdl sdl_image lzo ----------------------------------------------------------------------------- 3. Building ----------------------------------------------------------------------------- #to be performed in bash git clone --depth 1 https://github.com/quarnster/boxeebox-xbmc.git cd boxeebox-xbmc ./bootstrap automake --add-missing cd tools/boxeebox mkdir build cd build cmake -DTARGET_DIR=../target_dir .. make #done # Cross building on OSX tips I didn't bother trying to get mysql built as I'm not using it anyway. Hence you might need to "cmake -DENABLE_MYSQL=Off -DTARGET_DIR=blah .." OSX nowadays use clang as the default complier and doesn't even ship with gcc. Unfortunately gcc is a bit cranky and in my experience will not compile successfully with clang. I suggest installing a somewhat recent version of gcc (e.g via "brew install gcc"), and setting these environment variables: export CC=/usr/local/bin/gcc-4.9 export CXX=/usr/local/bin/g++-4.9 export CPP=/usr/local/bin/cpp-4.9 export LD=/usr/local/bin/gcc-4.9 Then rather than running the generic "make", run "make toolchain". Once finished, run this in your shell: unset CC unset CXX unset CPP unset LD export PATH=$PATH:$PWD/../sysroot/usr/bin and then run "make". Please do submit a pull request with any tweaks needed to make it build alright this far. #Making changes to libs/*, toolchain/* or intel/* Changes to these files are unfortunately not picked up automatically at the moment, but there's a "refresh" target that will try to pull in the changes and make the build system respect them: #to be performed in bash make refresh #done Changes in the Kodi directory should be picked up automatically. ----------------------------------------------------------------------------- 4. Installing ----------------------------------------------------------------------------- Once everything has been built, the final target distribution can be created with: #to be performed in bash make -j8 shares # only needed once unless you tweak any of the share files make dist #done ----------------------------------------------------------------------------- 5. How to run ----------------------------------------------------------------------------- As of Boxee+Hacks version 1.5.1, Kodi booting is enabled natively, this requires your Kodi folder to be in the root of a USB flash drive or SD card. This is a convienient way of using Kodi. The method below will give the developers more valuable information to help fix bugs. To run Kodi on the Boxee Box, telnet into your box (requires Boxee+Hacks): // to be performed in your favourite client on Windows (PuTTY) or in a terminal in Linux telnet BOXEE_IP 2323 # the Boxee+Hacks default password is "secret"; BOXEE_IP is your Boxee Box IP address /etc/rc3.d/U99boxee stop #kill boxee service killall run_boxee.sh #kill boxee runtime killall Boxee #kill boxee process /etc/rc3.d/U94boxeehal stop #kill boxee hal service killall BoxeeHal #kill boxee hal process cd PATH_TO_KODI_STORAGE #use 'df' command to determine your Kodi storage device #only choose one of the below commands to run; do not run them all #below cmd will start Kodi normally GCONV_PATH=$PWD/gconv AE_ENGINE=active PYTHONPATH=$PWD/python2.7:$PWD/python2.7/lib-dynload XBMC_HOME=$PWD ./kodi.bin #below cmd will start Kodi in background mode GCONV_PATH=$PWD/gconv AE_ENGINE=active PYTHONPATH=$PWD/python2.7:$PWD/python2.7/lib-dynload XBMC_HOME=$PWD ./kodi.bin & #below cmd will start Kodi in portable mode GCONV_PATH=$PWD/gconv AE_ENGINE=active PYTHONPATH=$PWD/python2.7:$PWD/python2.7/lib-dynload XBMC_HOME=$PWD ./kodi.bin -p #below cmd will start Kodi in portable/background mode GCONV_PATH=$PWD/gconv AE_ENGINE=active PYTHONPATH=$PWD/python2.7:$PWD/python2.7/lib-dynload XBMC_HOME=$PWD ./kodi.bin -p & ----------------------------------------------------------------------------- 6. References ----------------------------------------------------------------------------- LFS: http://www.linuxfromscratch.org/lfs/view/stable/ Python cross compilation: http://randomsplat.com/id5-cross-compiling-python-for-embedded-linux.html #Boxee Box references Intel SDK originally downloaded from http://bbx.boxee.tv/download/?ver=source&early=0. Bits of it is available as a newer version at https://code.google.com/p/googletv-mirrored-source/source/checkout?repo=intel-sdk. Boxeebox source code https://code.google.com/p/bawx/ http://www.boxeeboxwiki.org http://gtvhacker.com/index.php/Boxee ----------------------------------------------------------------------------- 7. Discussion & Development ----------------------------------------------------------------------------- Interested in discussing Kodi on Boxee Box, or lending a hand to the project? Visit us here: http://boxeed.in/forums/viewforum.php?f=13 As well, github: https://github.com/quarnster/boxeebox-xbmc Test repo: https://github.com/quasar1/boxeebox-xbmc.git Test builds: https://github.com/quasar1/boxeebox-xbmc/releases Thanks to everyone who has helped with getting this port up and running. EOF