diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/README.armel | 274 |
1 files changed, 0 insertions, 274 deletions
diff --git a/docs/README.armel b/docs/README.armel deleted file mode 100644 index 2a28faaf06..0000000000 --- a/docs/README.armel +++ /dev/null @@ -1,274 +0,0 @@ -TOC -1. Introduction -2. Using Scratchbox - 2.1 Automatic Installation - 2.2 Manual Installation - 2.3 Installation Continued for both Automatic and Manual Methods - 2.4 Setup Scratchbox -3. Getting the source code -4. Installing the required ARMEL packages -5. Obtaining the SGX files -6. How to compile - 6.1 Configure & Make - 6.2 Install -7. How to run - 7.1 Obtaining the Packages - 7.2 Installing the Files - 7.3 Running Kodi -8. Troubleshooting - ------------------------------------------------------------------------------ -1. Introduction ------------------------------------------------------------------------------ - -This is a port of Kodi for use on ARM Architecture. -As this is not an official version of Kodi, in-depth testing on various setups has not been done. USE WITH CAUTION! -For the purpose of this port, the following Hardware and Software was used. -Software: Scratchbox (cross-compiler) on a Linux (Ubuntu) machine. -Hardware: BeagleBoard (ARM Cortex-A8 with IMG POWERVR SGX). -The source code is based on Kodi for Linux - version 9.11 (Camelot). - -All lines that are prefixed with the '$' character are commands that need to be typed into a standard linux terminal -All lines that are prefixed with the '>' character are commands that need to be typed into scratchbox -All lines that are prefixed with the '#' character are commands that need to be typed into a terminal on the beagleboard - - ------------------------------------------------------------------------------ -2. Using Scratchbox ------------------------------------------------------------------------------ - -First, you need scratch box, along with some other packages. -The easiest way is to do the following automatic installation. -If you don't succeed, or want to do it manually, follow the next step instead. - ------------------------------------------------------------------------------ -2.1 Automatic Installation: ------------------------------------------------------------------------------ - - $ sudo gedit /etc/apt/sources.list - -Add this to the end of the file, then save and exit gedit: - deb http://scratchbox.org/debian stable main - deb http://scratchbox.org/debian legacy main - -Now enter the following command: - $ sudo apt-get install scratchbox-core scratchbox-libs scratchbox-devkit-cputransp scratchbox-devkit-git scratchbox-devkit-mtd scratchbox-devkit-perl scratchbox-devkit-doctools scratchbox-toolchain-arm-linux-cs2007q3-51sb3 scratchbox-toolchain-host-gcc scratchbox-devkit-debian - ------------------------------------------------------------------------------ -2.2 Manual Installation: ------------------------------------------------------------------------------ - -Go to the following website: -http://www.scratchbox.org/download/files/sbox-releases/stable/tarball/ -and download the following files (Unless specified, choose latest version): - - core - - libs - - cputransp - - doctools - - git - - mtd - - perl - - toolchain (cs2007q3-51sb3) - - host-gcc - - debian - -To install - $ cd / - $ sudo tar xvf /<location of files>/scratchbox-core.tar.gz - -Repeat for all the downloaded files. - ------------------------------------------------------------------------------ -2.3 Installation Continued for both Automatic and Manual Methods: ------------------------------------------------------------------------------ - -Now, a few changes needs to me made in order for it to work correctly: - $ sudo gedit /etc/sysctl.conf - -Change/Add these variables: - vm.mmap_min_addr = 4096 - vm.vdso_enabled = 0 -Save and Close. - -Add yourself to scratchbox: - $ sb-adduser <username> - -Make sure it worked by doing the following command, and see if sbox is listed. - $ groups - -If it isn't listed, restart and try again. If it still isnt listed, then do the following: - $ usermod -a -G sbox <username> - -It should now list (possibly after another logout) -Now you have access to scratchbox. - ------------------------------------------------------------------------------ -2.4 Setup Scratchbox: ------------------------------------------------------------------------------ - -Before setting up your target, you need a rootstrap. Obtain the latest rootstrap from: -http://linux.onarm.com/download/images/generic-X/ -You want to download the file 'beagleboard-<date>-rootstrap.tar.gz'. - -Do this every time you want to access scratchbox: - $ /scratchbox/login - -Time to setup your target: - $ sb-menu - -A GUI will appear for the setup procedure. - - Choose Setup - - Create a NEW target, give it any name - - Select the compiler you downloaded (arm-linux-cs2007q3-51sb3) - - Select all development kits listed by highlighting each one and pressing enter, then Done and enter - - Select CPU transparency (qemu-arm-cvs-m) - - Yes to rootstrap. Locate the previously downloaded rootstrap to install. - - Yes to install files - - Only select DEVKIT and ETC. Remove all other files in list, then continue - - And finally Yes to selecting target. - -Now scratchbox is setup - - ------------------------------------------------------------------------------ -3. Getting the source code ------------------------------------------------------------------------------ - - $ sudo apt-get install git-core - $ cd /scratchbox/users/<username>/home/<username>/ - $ git clone git://github.com/xbmc/xbmc.git - - ------------------------------------------------------------------------------ -4. Installing the required ARMEL packages ------------------------------------------------------------------------------ - -There is a simple shell script that downloads a list of packages that are required and installs them into scratchbox. - - $ cd tools/arm/arm-scripts/ - $ ./install-pkgs.sh - -Please check the output files for any possible errors that may have occured. - -Note. You will need the headers and shared object files for EGL and GLESv2 to continue. - - ------------------------------------------------------------------------------ -5. Obtaining the SGX files ------------------------------------------------------------------------------ - -In order to continue, you will need the SGX SDK from TI's website. -Once you have installed said SDK on a standard Linux machine, copy the necessary .h and .so files to the appropriate directories in scratchbox: -e.g /scratchbox/users/<username>/targets/<target_name>/usr/include/EGL/egl.h -These files will also need to be transferred over to the board eventually. - -NOTE: Kodi has only been tested with the following versions of the OMAP35x Graphics SDK: -3.00.00.05, 3.00.00.06, 3.00.00.08, 3.00.00.09 - - ------------------------------------------------------------------------------ -6. How to compile ------------------------------------------------------------------------------ - -To create the Kodi executable manually perform these following steps: - ------------------------------------------------------------------------------ -6.1 Configure & Make: ------------------------------------------------------------------------------ - - $ ./bootstrap - $ ./configure --enable-gles - -This will configure Kodi inside scratchbox ready for compilation on ARM. -Because the default is to build for OpenGL, we require the --enable-gles flag to be set for OpenGL ES 2.0. -Note: No OpenGL ES 1.x available -Now, build with the following: - - $ make - ------------------------------------------------------------------------------ -6.2 Install: ------------------------------------------------------------------------------ - -There is no need to do 'make install' as we dont want it installed into scratchbox. -There is also the slight problem of the fact that scratchbox's 'find' command is outdated and wont execute Kodi's 'make install' correctly. -Instead, use the provided shell script: - $ cd /tools/arm/arm-scripts/ - $ ./create-xbmcfile.sh - -This will create a tar file tools/arm/arm-scripts/xbmc.tar.bz2 containing the Kodi files, ready for you to transfer to the board. - - ------------------------------------------------------------------------------ -7. How to run ------------------------------------------------------------------------------ - -It is assumed you have a beagleboard with all the necessary hardware installed. -(e.g. keyboard, mouse, and Ethernet adapter) -It is also assumed that you have it setup with either Angstrom or Ubuntu. - ------------------------------------------------------------------------------ -7.1 Obtaining the Packages: ------------------------------------------------------------------------------ - -For Ubuntu: See README.linux for list of packages to install. -If planning on not extracting the pkgs file, a few additional packages are required to be installed. -These are python and liblzo2 - -For Angstrom: - $ opkg update - $ opkg install subversion make g++ gcc gawk pmount libtool automake gperf bison libsdl-1.2-dev libsdl-gfx-dev libfribidi-dev liblzo-dev libfreetype-dev libsqlite3-dev libasound2 python-sqlite3 libcurl4 libxrandr-dev libxrender-dev libmysqlclient-dev libpcre-dev libdbus-glib-1-dev hal-dev libfontconfig-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev - -Unfortunately this will only install the packages that are available through opkg. There will be further packages that need to be installed. -Either use the method mentioned below, or selectively find and install packages, mentioned at the bottom of this README. - -Alternatively, do the following: -First make sure you have done section 4. then do the following: - $ cd xbmc_on_arm/arm-scripts/ - $ ./create-pkgsfile.sh - -This will create a tar file xbmc_on_arm/arm-scripts/pkgs.tar.bz2 containing the packages, ready for you to transfer to the board. - ------------------------------------------------------------------------------ -7.2 Installing the Files: ------------------------------------------------------------------------------ - -Transfer the file(s), armel-pkgs.tar.bz2 (if using alternative method mentioned above) and xbmc.tar.bz2 to the beagleboard. -Do the following to extract them: - $ tar xjf armel-pkgs.tar.bz2 -C / - $ tar xjf xbmc.tar.bz2 -C /usr/ - -After this initial setup, during development, you should only need to replace /usr/share/kodi/kodi.bin with the newly created binary. - ------------------------------------------------------------------------------ -7.3 Running Kodi: ------------------------------------------------------------------------------ - -Now, run Kodi by executing the binary: - $ /usr/share/kodi/kodi.bin - -Run the binary and not the script as the script will fail. - - ------------------------------------------------------------------------------ -8. Troubleshooting ------------------------------------------------------------------------------ - -If it fails to run correctly, there are a few things to try out. -First, is there any helpful output on the terminal? -Check the log file, usually located ~/.kodi/temp/kodi.log -It may have failed because of a missing package. -If so, you will need to download the appropriate armel package from packages.debian.org, -Extract the files with the command: dpkg-deb -x packagename.deb /path/to/extract/to -Then tarball the extracted files: tar cjf pkg.tar.bz2 /path/to/extracted/files -Then transfer them to the board, and extract: tar xjf pkg.tar.bz2 -This is because the .deb files cannot be extracted in Angstrom. - -If this is not the case, try various different parameters for kodi.bin such as: - $ kodi.bin --standalone - $ kodi.bin -p - $ kodi.bin -fs - -Or build with debug for a more in-depth kodi.log file by omitting the line --disable-debug on configure. - -Feel free to contact me on mcgeagh@xbmc.org |