aboutsummaryrefslogtreecommitdiff
path: root/README.armel
diff options
context:
space:
mode:
authorS. Davilla <davilla@4pi.com>2012-05-04 12:14:41 -0400
committerS. Davilla <davilla@4pi.com>2012-05-04 19:38:21 -0400
commit6a5bc5a1089ff6cf31f10a9082f097c30a6e273d (patch)
tree63ddb75e73a32d43af126be3764d275588160fa7 /README.armel
parentae4eb05f43abf1b69720bf8bb376fd4aedfbeede (diff)
move README.xx to docs and create a generic README
Diffstat (limited to 'README.armel')
-rw-r--r--README.armel273
1 files changed, 0 insertions, 273 deletions
diff --git a/README.armel b/README.armel
deleted file mode 100644
index fdbec70af8..0000000000
--- a/README.armel
+++ /dev/null
@@ -1,273 +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 XBMC
-8. Troubleshooting
-
-
------------------------------------------------------------------------------
-1. Introduction
------------------------------------------------------------------------------
-
-This is a port of XBMC for use on ARM Architecture.
-As this is not an official version of XBMC, 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 XBMC 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 dont 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 isnt 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 neccessary .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: XBMC 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 XBMC executable manually perform these following steps:
-
- -----------------------------------------------------------------------------
- 6.1 Configure & Make:
- -----------------------------------------------------------------------------
-
- $ ./bootstrap
- > ./configure --enable-gles
-
- This will configure XBMC 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 xbmc'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 xbmc files, ready for you to transfer to the board.
-
-
------------------------------------------------------------------------------
-7. How to run
------------------------------------------------------------------------------
-
-It is assumed you have a beagleboard with all the neccessary 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 unzip bison libsdl-1.2-dev libsdl-image-1.2-dev libsdl-gfx-dev libsdl-mixer-1.2-dev libfribidi-dev liblzo-dev libfreetype-dev libsqlite3-dev libasound2 python-sqlite3 libcurl4 libxrandr-dev libxrender-dev libmad-dev libogg-dev libvorbis-dev libmysqlclient-dev libpcre-dev libdbus-glib-1-dev hal-dev libjasper-dev libfontconfig-dev boost-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev libsamplerate0-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/xbmc/xbmc.bin with the newly created binary.
-
- -----------------------------------------------------------------------------
- 7.3 Running XBMC:
- -----------------------------------------------------------------------------
-
- Now, run XBMC by executing the binary:
- # /usr/share/xbmc/xbmc.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 ~/.xbmc/temp/xbmc.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 xbmc.bin such as:
-xbmc.bin --standalone
-xbmc.bin -p
-xbmc.bin -fs
-Or build with debug for a more in-depth xbmc.log file by ommitting the line --disable-debug on configure.
-
-Feel free to contact me on mcgeagh@xbmc.org