PhoneMEAdvancedPlatformsNokia800 < Mobileandembedded < TWiki

TWiki . Mobileandembedded . PhoneMEAdvancedPlatformsNokia800

Nokia N770/N800 (ARM-linux)

If you just want to get the PhoneMEAdvanced MR2 Java CDC/FP version 1.1 VM for the N800, get a binary runtime build here and try it out.

But if you want to build from the latest source yourself, below are instructions for building CDC/FP MR2 for the N800 mainly, and should also work on the N770. These instructions are more current than those done previously for the Nokia 770.

Prerequisites

  1. Linux host meeting requirements in Sun CDC Build System Guide.
  2. Bora Scratchbox for Maemo ARM cross-compiling tools.
  3. Sun JDK (I used a 1.4x one to be safe with CDC 1.1 standards, but a newer one may be OK for building CDC) for java toolchain.

Helpful Software Tools for N800

Install these packages by opening these package URLs from a browser on the N800.

  1. OpenSSH server
  2. osso Xterm
  3. unzip
  4. wget

If you have problems with N800's Application Manager during the install process, retry after enabling Red Pill Mode.
Note also the the factory root password for N800 is 'rootme'

Build Steps

1. On Linux build host, make and go to top level build directory to hold everything, e.g.
# mkdir /pmea
# cd /pmea
2. Using subversion, checkout cdc and tools trees (java.net dev account required)
# svn checkout https://phoneme.dev.java.net/svn/phoneme/components/tools/trunk
# svn checkout https://phoneme.dev.java.net/svn/phoneme/components/cdc/trunk
3. Note absolute path your latest TOOLS_DIR is from here, i.e. ending in the form tools/tags/tools-advanced-mr2-promo-bXX. For example
TOOLS_DIR=/pmea/tools/tags/tools-feature-mr2-promo-b24
was what I had at the time of my last build.

4. Go to linux-arm-generic build directory

# cd cdc/trunk/build/linux-arm-generic
5. Start make-ing
# make CVM_TARGET_TOOLS_PREFIX=/scratchbox/compilers/cs2005q3.2-glibc-arm/bin/arm-linux-  \
USE_AAPCS=true J2ME_CLASSLIB=foundation TOOLS_DIR=/pmea/tools/tags/tools-feature-mr2-promo-b24
and
# make bin CVM_TARGET_TOOLS_PREFIX=/scratchbox/compilers/cs2005q3.2-glibc-arm/bin/arm-linux-  \
USE_AAPCS=true J2ME_CLASSLIB=foundation TOOLS_DIR=/pmea/tools/tags/tools-feature-mr2-promo-b24
6. Go to build output directory
# cd ../../install
# ls 
Foundation_Profile-phoneme_advanced_mr2_b18-linux_arm_generic-bin-rev5444.zip

Run to Validate

Transfer zipfile to N800, unzip to a directory of your choice and validate on N800 with these commands:
Nokia-N800:/cdc/# ./bin/cvm -version
Product: phoneME Advanced (phoneme_advanced_mr2-b18)
Profile: Foundation Profile Specification 1.1
JVM:     CVM phoneme_advanced_mr2-b18 (mixed mode)
Nokia-N800:/cdc/# ./bin/cvm -cp testclasses.zip HelloWorld
Hello world.
Nokia-N800:/cdc/# ./bin/cvm -cp testclasses.zip Test
<... lots of output ...>
*CONGRATULATIONS: test Test completed with 411 tests passed and 0 failures
*Output lines starting with a * should be checked for correctness
*They can be compared to src/share/javavm/test/TestExpectedResult

OK, Now What Can I do with This?

For starters, you can check out running OSGi on the N800.

-- Main.coughlin - 04 May 2007

----- Revision r30 - 07 Jan 2008 - 20:50:20 - Main.hendry78