Navit

Navit on N900
Here is some N900 specific Navit information.

Compile
Here are instructions how to compile Navit on N900.

Create a SDK Image on the Phone
Sorry i can't remember exactly reproduceable steps. Most information about this come from this thread.
 * Install "easy chroot".
 * Download maemo-sdk-v1_2.img.ext2 from qole.
 * Increase temp size "mount -o remount,size=10M /tmp"
 * Chroot into the image.
 * Install language package to fix the perl errors.
 * Install Nokia binaries.
 * Update distribution.
 * Download, compile and install GNU autotools.
 * Install "librsvg2-bin" to be able to convert svg files into png files.
 * Install SVN client to be able to get the libgarmin source.

Freetype2
Maemo has a version with a bug. So use a newer one for Navit.

Download source and unpack it.

./configure --prefix=/opt/navit/lib/3rdparty --libdir=/opt/navit/lib/3rdparty make make install

Libgarmin
To support garmin maps you need this driver.

Download source: svn co http://libgarmin.svn.sourceforge.net/svnroot/libgarmin/libgarmin/dev libgarmin

./autosh.sh ./configure --prefix=/opt/navit/lib/3rdparty --libdir=/opt/navit/lib/3rdparty make make install

cd src gcc -shared -o libgarmin.so *.o cp libgarmin.so /opt/navit/lib/3rdparty
 * 1) create so file:

Navit
Now you can compile Navit.

Download source and unpack it.

export PKG_CONFIG_PATH=/opt/navit/lib/3rdparty/pkgconfig/

./autogen.sh

./configure --prefix=/opt/navit --disable-binding-python --enable-avoid-float --enable-avoid-unaligned --enable-svg2png-scaling="32,48,64" --enable-svg2png-scaling-flag="32,48,64" --enable-svg2png-scaling-nav="8,16,32,48,64" --disable-samplemap --disable-graphics-sdl --enable-vehicle-maemo --with-svg2png-use-rsvg-convert --disable-svg

make make install

Configure
You have to configure the XMLs in "/home/user/.navit".

Now you can start Navit in SDK image: export LD_LIBRARY_PATH=/opt/navit/lib/3rdparty:$LD_LIBRARY_PATH /opt/navit/bin/navit

Package
Now create a deb package to install it on N900 outside of the SDK image.

Script: echo "create root dir" cd "/home/user/reini/package/navit" version="0.2.0~svn3708-1_armel" navit="navit_${version}"

echo "init" rm -R -f "$navit" cp -R ./template "$navit"
 * 1) my template dir has the following files
 * 2) /DEBIAN/prerm
 * 3) ./DEBIAN/postinst
 * 4) ./DEBIAN/control
 * 5) ./opt/navit/bin/navit.sh

echo "copy navit configuration" mkdir -p "$navit/home/user/.navit" cp /home/user/.navit/*.xml "$navit/home/user/.navit" mkdir -p "$navit/home/user/.navit/sample" cp /home/user/.navit/sample/*.sh "$navit/home/user/.navit/sample" cp /home/user/.navit/sample/*.bin "$navit/home/user/.navit/sample"

echo "copy navit binaries" cp -R /opt/navit/ "$navit/opt" ( # keep only so files from additional libs  cd "$navit/opt/navit/lib/3rdparty"  rm -R bin include pkgconfig share libfreetype.a libgarmin.a )

echo "create deb" dpkg-deb -b "$navit"

Now you have a "navit_0.2.0~svn3708-1_armel.deb" ready for installation on N900.

Install
dpkg -i navit_0.2.0~svn3708-1_armel.deb

Links

 * Navit Project Homepage
 * Navit on N900 Discussion
 * Compile Navit
 * Navigation Tools