Commit c66e5c08 authored by Jean-Paul Saman's avatar Jean-Paul Saman

Added a section about Opie SDK kit.

parent d8c509a8
......@@ -26,9 +26,9 @@
I will describe here how to compile vlc for an ARM based
PDA running linux. It includes for example :
<itemize>
<item>Compaq - iPaq (H36xx, H38xx,...), using
<item>Compaq - iPaq (H36xx, H38xx,...), using Familiar Linux
<itemize>
<item>Familiar linux
<item>GNU Portable Environment (GPE)
<item>Opie
</itemize>
</item>
......@@ -117,7 +117,7 @@
<heading>Binutils</heading>
<p>Compiling binutils is pretty simple :
<tscreen><verb>
tar xzf binutils-2.11.2.tar.gz
tar -xzf binutils-2.11.2.tar.gz
cd binutils-2.11.2
./configure --target=arm-linux --prefix=/usr/local/arm/2.95.3
make
......@@ -129,7 +129,7 @@ make install
<heading>Preparing linux kernel</heading>
<p>
<tscreen><verb>
tar xzf linux-2.4.19.tar.bz2
tar -xzf linux-2.4.19.tar.bz2
bunzip2 patch-2.4.19-rmk4.bz2
cd linux-2.4.19
patch -p1 &lt; ../patch-2.4.19-rmk4.bz2
......@@ -153,7 +153,7 @@ ln -s include sys-linux
<heading>Basic cross compiler (gcc)</heading>
<p>
<tscreen><verb>
tar xvzf gcc-2.95.3.tar.gz
tar -xvzf gcc-2.95.3.tar.gz
bunzip2 gcc-2.95.3.diff.bz2
bunzip2 gcc-2.95.3.diffbis.bz2
patch -p1 -d gcc-2.95.3 &lt; gcc-2.95.3.diff
......@@ -172,9 +172,9 @@ make install
<p>
Depending on your target, you may choose another glibc version (eg: 2.1.3 for linupy 1.4)
<tscreen><verb>
tar xvzf glibc-2.2.5.tar.gz
tar -xvzf glibc-2.2.5.tar.gz
cd glibc-2.2.5
tar xvzf ../glibc-linuxthreads-2.2.5.tar.gz
tar -xvzf ../glibc-linuxthreads-2.2.5.tar.gz
CC=arm-linux-gcc ./configure arm-linux --target=arm-linux \
--prefix=/usr/local/arm/2.95.3/arm-linux --enable-add-ons
</verb></tscreen>
......@@ -199,7 +199,7 @@ CC=arm-linux-gcc make install
<p>
<tscreen><verb>
rm -Rf gcc-2.95.3
tar xvzf gcc-2.95.3.tar.gz
tar -xvzf gcc-2.95.3.tar.gz
patch -p1 -d gcc-2.95.3 &lt; gcc-2.95.3.diff
patch -p1 -d gcc-2.95.3 &lt; gcc-2.95.3.diff2
cd gcc-2.95.3
......@@ -247,19 +247,84 @@ export PATH=/usr/local/arm/2.95.3/bin:$PATH
# script to install .ipk into the arm-toolchain
# usage : ./install.sh foobar.ipk
if ! tar xvzf $1 2> /dev/null
if ! tar -xvzf $1 2> /dev/null
then
ar xv $1 2> /dev/null
fi
cp data.tar.gz /usr/local/arm/2.95.3/arm-linux
cd /usr/local/arm/2.95.3/arm-linux
tar xvzf data.tar.gz
tar -xvzf data.tar.gz
</verb></tscreen>
</p>
</sect1>
</sect>
<sect>
<heading>Setting up Opie cross-compile environment</heading>
<p>Download the Opie SDK from the website <htmlurl url="http://opie.handhelds.org/" name="OPIE website">
using the menuitem "Download Opie SDK" or try the direct link here: <htmlurl url="ftp://ftp.handhelds.org/zecke/" name="Download Opie SDK">.
Download all files to your ${SOURCES}/opie directory.
</p>
<sect1>
<heading>Opie SDK</heading>
<p>The Opie SDK does not come with a README file or installation instructions.
I give them here instead. There are two tar files in the download a OpieSDK.tar.gz2 and a kdevelop_src.tar.bz2.
The last file is a modified kdevelop for use with the OpieSDK. In this tutorial we will not use that.
Unpack OpieSDK.tar.bz2 in your sources <tt>cd ${SOURCES}/opie</tt> directory.
<tscreen><verb>
cd ${SOURCES}/opie
tar -xjvf OpieSdk.tar.bz2
</verb></tscreen>
It creates a directories structure <tt>${SOURCES}/opie/opt/OpieSDK</tt>. Inside that directory a script is present to
<tt>start_kdevelop</tt>. Modify this script so that it uses the correct paths for you setup.
<tscreen><verb>
#!/bin/sh
source ${SOURCES}/opie/opt/OpieSdk/dev_env
export KDEDIR=${SOURCES}/opie/opt/OpieSdk/kde
export PATH=${SOURCES}/opie/opt/OpieSdk/kde/bin:$PATH
kbuildsycoca
kdevelop
</verb></tscreen>
Save the script. Do the same with the script <tt>arm_source</tt>
<tscreen><verb>
source ${SOURCES}/opie/opt/OpieSdk/dev_env
export QTDIR=$QTDIR_ARM
export OPIEDIR=$OPIEDIR_ARM
</verb></tscreen>
Save the script and modify the script <tt>host_source</tt> in the same manner as above.
<tscreen><verb>
source ${SOURCES}/opie/opt/OpieSdk/dev_env
export QTDIR=$QTDIR_NAT
export OPIEDIR=$OPIEDIR_NAT
</verb></tscreen>
Save the script and modify the script <tt>dev_env</tt> in the same manner as above.
<tscreen><verb>
export PYTHONPATH=${SOURCES}/opie/opt/OpieSdk/python/opie:${SOURCES}/opie/opt/OpieSdk/python/sip
export PATH=/usr/local/arm/2.95.3/bin:/opt/OpieSdk/host_tools:${SOURCES}/opie/opt/OpieSdk/opie/x86/qt-2.3.7/bin:$PATH
export PATH=${SOURCES}/opie/opt/OpieSdk/opie/x86/qmake:$PATH
export QTDIR_NAT=${SOURCES}/opie/opt/OpieSdk/opie/x86/qt-2.3.7
export OPIEDIR_NAT=${SOURCES}/opie/opt/OpieSdk/opie/x86/sdk
export QTDIR_ARM=${SOURCES}/opie/opt/OpieSdk/opie/arm/qt-2.3.7
export OPIEDIR_ARM=${SOURCES}/opie/opt/OpieSdk/opie/arm/sdk
export OPIE_SDK_BASE=${SOURCES}/opie/opt/OpieSdk/
export OPIE_SDK_QMAKE_BASE=${SOURCES}/opie/opt/OpieSdk/opie/x86/sdk/mkspecs/qws/
export OPIE_DOC=${SOURCES}/opie/opt/OpieSdk/apidocs
export LD_LIBRARY_PATH=${SOURCES}/opie/opt/OpieSdk/sip/lib:$OPIEDIR_NAT/lib:$QTDIR_NAT/lib:$LD_LIBRARY_PATH
export OPIE_LANGUAGES=de:en:cz:da:dk:es:fr:hu:it:ja:ko:lv:mk:nl:no:pl:pt:pt_BR:ru:sl:zh_CN:zh_TW
</verb></tscreen>
The symbolic linke to the tool <tt>qmake</tt> points now to the wrong place. We need to fix this symbolic link.
Here is the way to do that.
<tscreen><verb>
cd host_tools
ln -sf /home/jpsaman/src/opie/opt/OpieSdk/opie/x86/sdk/qmake/qmake qmake
cd ../
</verb></tscreen>
Now it is time to fire up our development environment and start hacking in Opie.
</p>
</sect1>
</sect>
<sect>
<heading>Cross compiling libraries needed by vlc</heading>
......@@ -280,7 +345,7 @@ tar xvzf data.tar.gz
compiler without the prefix <tt>arm-linux-</tt>.
<tscreen><verb>
tar xvzf SDL-1.2.5.tar.gz
tar -xvzf SDL-1.2.5.tar.gz
cd SDL-1.2.5
./configure --enable-release --target=arm-linux --host=arm-linux \
--disable-esd \
......@@ -299,14 +364,14 @@ make && make install
<heading>Glib/GTK+</heading>
<p>
<tscreen><verb>
tar xvzf glib-1.2.10.tar.gz
tar -xvzf glib-1.2.10.tar.gz
cd glib-1.2.10
CONFIG_SITE=../ipaq-config.site ./configure \
--prefix=/usr/local/arm/2.95.3/arm-linux/usr
make
make install
cd ..
tar xvzf gtk+-1.2.10.tar.gz
tar -xvzf gtk+-1.2.10.tar.gz
cd gtk+-1.2.10
CONFIG_SITE=../ipaq-config.site ./configure \
--prefix=/usr/local/arm/2.95.3/arm-linux/usr --with-glib=../glib-1.2.10
......@@ -319,7 +384,7 @@ make install
<heading>ffmpeg</heading>
<p>
<tscreen><verb>
tar xvzf ffmpeg.tar.gz
tar -xvzf ffmpeg.tar.gz
cd ffmpeg
./configure --cpu=armv4l --cc=arm-linux-gcc --disable-mmx \
--prefix=/usr/local/arm/2.95.3/arm-linux/usr --enable-shared
......@@ -334,7 +399,7 @@ make
<heading>mad</heading>
<p>
<tscreen><verb>
tar xvzf mad-0.14.2b.tar.gz
tar -xvzf mad-0.14.2b.tar.gz
cd mad-0.14.2b
./configure --enable-release --target=arm-linux --host=arm-linux \
--disable-esd \
......@@ -386,7 +451,7 @@ make
<heading>flac</heading>
<p>
<tscreen><verb>
tar xvzf flac-1.1.0.tar.gz
tar -xvzf flac-1.1.0.tar.gz
cd flac-1.1.0
./configure --enable-release --host=arm-linux --target=arm-linux \
--prefix=/usr/local/arm/2.95.3/arm-linux/usr
......@@ -404,7 +469,7 @@ make install
<heading>libdvbpsi</heading>
<p>
<tscreen><verb>
tar xvzf libdvbpsi-0.1.2.tar.gz
tar -xvzf libdvbpsi-0.1.2.tar.gz
cd libdvbpsi-0.1.2
./bootstrap
./configure --target=arm-linux --host=arm-linux
......@@ -416,7 +481,7 @@ make
<heading>a52</heading>
<p>
<tscreen><verb>
tar xvzf a52dec-0.7.4.tar.gz
tar -xvzf a52dec-0.7.4.tar.gz
cd a52dec-0.7.4
./configure --enable-release --host=arm-linux --target=arm-linux \
--prefix=/usr/local/arm/2.95.3/arm-linux/usr
......@@ -442,4 +507,5 @@ make && make install
</p>
</sect>
</article></linuxdoc>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment