Permalink
Browse files

Update CrossCompileHowTo.txt

Updated instructions and build script, save as .sh and run it!

Fixed typos also!

Former-commit-id: 53b6f89
  • Loading branch information...
1 parent e9e43e2 commit 2dae58f070d21832b10fb50eb8afdd2ed2185116 tpmodding committed Mar 13, 2016
Showing with 50 additions and 31 deletions.
  1. +50 −31 CrossCompileHowto.txt
View
@@ -1,51 +1,62 @@
-ON TARGET
---------------
-sudo apt-get install libQt4-dev libusb-1.0-0-dev python-dev rsync
-
-ON HOST
----------
-export TARGET_IP=192.168.1.17
+#!/bin/bash
+#Updated: 13 March 2016, by TPmodding
+#Just use a clean Ubunut 14.04 and run this script
+##############
+#ON TARGET
+#--------------
+#sudo apt-get install libQt4-dev libusb-1.0-0-dev python-dev rsync
+#############
+
+#ON HOST
+#---------
+sudo apt-get update
+sudo apt-get upgrade
+#TO-DO verify what is really required
+sudo apt-get install git rsync cmake build-essential libQt4-dev libusb-1.0-0-dev python-dev libxrender-dev protobuf-compiler lib32z1 lib32ncurses5 lib32bz2-1.0 zlib1g-dev
+
+echo 'PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin' >> .bashrc
+#---------
+
+
+export TARGET_IP=192.168.0.103
export TARGET_USER=pi
export RASCROSS_DIR="$HOME/raspberrypi"
-export ROOTFS_DIR="RASCROSS_DIR/rootfs"
+export ROOTFS_DIR="$RASCROSS_DIR/rootfs"
export HYPERION_DIR="$HOME/hyperion"
+#export IMX6_DIR="$HOME/hummingboard"
export TOOLCHAIN_FILE="$HYPERION_DIR/Toolchain-RaspberryPi.cmake"
export NATIVE_BUILD_DIR="$HYPERION_DIR/build"
-export TARGET_BUILD_DIR=HYPERION_DIR="$HYPERION_DIR/build-rpi"
-
-# install required packages
-sudo apt-get install git rsync cmake build-essential libQt4-dev libusb-1.0-0-dev python-dev libxrender-dev
-sudo apt-get install git rsync cmake ia32-libs protobuf-compiler
-
-# On newer version of Ubuntu (and maybe other distros) the ia32-libs is not available, the following
-# install solved this for me (TODO: verify what is really required)
-sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
+export TARGET_BUILD_DIR="$HYPERION_DIR/build-rpi"
-# create the rootfs by copying it from an target
mkdir -p "$ROOTFS_DIR"
rsync -rl --delete-after --copy-unsafe-links $TARGET_USER@$TARGET_IP:/{lib,usr} "$ROOTFS_DIR"
######## RPi specific #########
-# get the raspberry pi firmware and add it to the rootfs
+mkdir -p "$RASCROSS_DIR/firmware"
git clone https://github.com/raspberrypi/firmware.git "$RASCROSS_DIR/firmware"
ln -s "$RASCROSS_DIR/firmware/hardfp/opt" "$ROOTFS_DIR/opt"
-# get the compile tools
git clone git://github.com/raspberrypi/tools.git "$RASCROSS_DIR/tools"
##### End of RPi specific ######
+######## NOT TESTED ONLY INFOs #########
+######## IMX6 specific #########
+#export IMX6_DIR="$HOME/hummingboard"
+#mkdir -p "$IMX6_Dir"
+#cd "$IMX6_Dir"
+#wget https://launchpad.net/linaro-toolchain-binaries/trunk/2013.10/+download/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2
+#tar -xvjf gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2
+#cd
+##### End of IMX6 specific ######
+######## NOT TESTED #########
+
# get the Hyperion sources
git clone --recursive https://github.com/tvdzwan/hyperion.git "$HYPERION_DIR"
-# if you forget the --resursive in above statement or you are updating an existing clone you need
-# to clone the protobuf submodule by runnning the follwing two statements:
-git submodule init
-git submodule update
-
# do a native build (to build the protobuf compiler for the native platform)
mkdir -p "$NATIVE_BUILD_DIR"
cmake -DENABLE_DISPMANX=OFF --build "$NATIVE_BUILD_DIR" "$HYPERION_DIR"
@@ -55,9 +66,17 @@ cmake -DENABLE_DISPMANX=OFF --build "$NATIVE_BUILD_DIR" "$HYPERION_DIR"
mkdir -p "$TARGET_BUILD_DIR"
cmake -DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN_FILE" -DIMPORT_PROTOC=$NATIVE_BUILD_DIR/protoc_export.cmake --build "$TARGET_BUILD_DIR" "$HYPERION_DIR"
-# For hummingboard (imx6) the following package is required
-sudo apt-get install lib32z1
-
-------------------------------------------------------------------------------
-These instructions are based on the guide given by:
-http://airwiki.ws.dei.polimi.it/index.php/Cross-compiling_for_the_RaspberryPi
+#compile
+cd "$HYPERION_DIR/deploy"
+rm -rf hummingboard_prerelease.tar.gz hyperion.deps.openelec-imx6.tar.gz hyperion.deps.openelec-rpi.tar.gz hyperion_imx6.tar.gz hyperion_rpi.tar.gz hyperion_wetek.tar.gz hyperion_x32.tar.gz hyperion_x64.tar.gz
+cd
+cd "$HYPERION_DIR/bin"
+chmod +x *
+cp "$HYPERION_DIR/bin/create_all_releases.sh" "$HYPERION_DIR"
+cd "$HYPERION_DIR"
+./create_all_releases.sh
+
+######END
+#------------------------------------------------------------------------------
+#These instructions are based on tvdzwan and on the guide given by:
+#http://airwiki.ws.dei.polimi.it/index.php/Cross-compiling_for_the_RaspberryPi

0 comments on commit 2dae58f

Please sign in to comment.