Jump to content

Building Orbiter for the Nokia 770: Difference between revisions

From LinuxMCE
Bmk789 (talk | contribs)
No edit summary
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<table width="100%"> <tr><td bgcolor="#FFCFCF">This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007.  In general any information should apply to LinuxMCE.  However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.</td></tr> </table>These are the instructions to build a version of [[Orbiter]] for the Nokia 770 internet platform. Nokia 770 has an ARM family processor, therefore you will need to cross-compile if your build machine is an Intel.
#redirect [[Nokia 770]]
 
==Requirements==
You will need:
* a Debian Sarge box to host the build
* the Maemo 1.1 SDK for ARM ( http://repository.maemo.org/stable/1.1/arm/Maemo_Dev_Platform_RS_v1.1_arm.tgz )
* Scratchbox cross-compilation toolkit 0.9.8.5 (http://www.scratchbox.org/download/files/sbox-releases/0.9.8/deb/ )
  scratchbox-core_0.9.8.5_i386.deb                             
  scratchbox-devkit-debian_0.9.8.5_i386.deb                   
  scratchbox-doctools_0.9.8.5_i386.deb                         
  scratchbox-libs_0.9.8.5_i386.deb                             
  scratchbox-toolchain-arm-glibc_0.9.8.5_i386.deb             
  scratchbox-toolchain-i686-glibc_0.9.8.5_i386.deb             
 
==Preparing the Nokia tablet==
# Make sure it is connected to the network - check the Connection manager for a WiFi connection
# Open an X terminal on the tablet; make a directory in your home dir to hold the Orbiter binaries, say <tt>/home/user/orbiter</tt>
# You'll need a way to transfer files from the build machine to the tablet. Either have an HTTP server somewhere on your network, or install OpenSSH on the tablet. If you install OpenSSH, remember to also start it, by doing <tt>/etc/init.d/ssh start</tt>. To get a root prompt, use <tt>sudo gainroot</tt>.
 
==Preparing the build machine==
# Install Scratchbox debs on the build machine
# Add yourself as a Scratchbox user: <tt>'''/scratchbox/sbin/sbox_adduser ''username'''''</tt>
# Check out a fresh working copy of Pluto from http://svn.plutohome.com/pluto/trunk/src/ into <tt>/scratchbox/users/username/pluto/trunk/src</tt> (username is assumed to be your user name on the build machine)
# Copy or symlink the Maemo SDK into <tt>/scratchbox/packages</tt>
# Log in to Scratchbox by typing <tt>'''scratchbox'''</tt>
# Configure Scratchbox cross-compile target:
> '''sbox-config -ct Nokia770'''
Available compilers:
        0) arm-linux-gcc-3.3_3.3.4-glibc-2.3.2.ds1
        1) host-gcc
        2) i686-linux-gcc-3.3_3.3.4-glibc-2.3.2.ds1
Enter compiler number: '''0'''
Available CPU-transparency methods:
        sbrsh
        qemu-arm
        qemu-ppc
Enter method name (qemu-arm): '''qemu-arm'''
Available devkits:
        debian
Enter list of devkit names (none): '''debian'''
# Select the new cross-compile target: <tt>'''sbox-config -st Nokia770'''</tt>
# Unpack the Maemo rootstrap: <tt>'''sbox-config -er /scratchbox/packages/Maemo_Dev_Platform_RS_v1.1_arm.tgz'''</tt>
# <tt>'''sbox-config -cc'''</tt>
# <tt>'''sbox-config -cf'''</tt>
# Update the package list inside Scratchbox by typing <tt>apt-get update</tt>
# Install the following build-time dependencies (with <tt>apt-get install</tt>)
#* libmysqlclient12-dev
#* libid3-dev
#* xlibmesa-gl-dev
# Edit the following Makefiles as follows:
#* /pluto/trunk/src/SerializeClass/Makefile: append "''' -DMAEMO_NOKIA770'''" to CXXFLAGS on line 4
#* /pluto/trunk/src/PlutoUtils/Makefile: append "''' -DMAEMO_NOKIA770'''" to CXXFLAGS on line 4
#* /pluto/trunk/src/DCE/Makefile: append "''' -DMAEMO_NOKIA770'''" to CXXFLAGS on line 4
#* /pluto/trunk/src/Orbiter/Makefile: append "''' -DMAEMO_NOKIA770'''" to CPPFLAGS on line 74
 
==Building Orbiter==
# While inside Scratchbox, go into /pluto/trunk/src/SerializeClass and type <tt>'''make'''</tt>
# Go into /pluto/trunk/src/PlutoUtils and type <tt>'''make'''</tt>
# Go into /pluto/trunk/src/DCE and type <tt>'''make'''</tt>
# Go into /pluto/trunk/src/Orbiter and type <tt>'''make bin'''</tt>
# After a while, the following files will result in /pluto/trunk/src
#* lib/libDCECommon.so
#* lib/libSerializeClass.so
#* lib/libPlutoUtils.so
#* bin/Orbiter
# Copy these files over to the tablet, in /home/user/orbiter
 
==Running Orbiter==
In an X terminal On the tablet itself (NOT via ssh) do this:
cd /home/user/orbiter
export LD_LIBRARY_PATH=.
./Orbiter -r xxx.xxx.xxx.xxx -d yy -l orbiter.log
where xxx.xxx.xxx.xxx is the IP address of the DCE Router, and yy is the device number assigned to your new Orbiter.
 
If it complains about missing .so files, copy them over from your Scratchbox on the build machine in the orbiter directory on the tablet.
 
==External references==
* http://www.maemo.org/platform/docs/tutorials/Maemo_tutorial.html#settingup

Latest revision as of 01:50, 7 December 2007

Redirect to: