Skip to content

goldelico/letux-qtmoko

Repository files navigation

Cross compling from sources in debian chroot
============================================

  * The most easy and painless way is to build QtMoko in debian squeeze chroot.

  * You will need debian on your PC

  * Clone current git tree:

git clone git://github.com/radekp/qtmoko.git

  * Initialize and update submodules

cd qtmoko
git submodule init
git submodule update

  * Create and enter debian chroot:

sudo scripts/qtmoko-chroot-armhf.sh

  * Build it:

mkdir -p /root/qte/build
cd /root/qte/build
../qtmoko/configure -device gta04
make
export LD_LIBRARY_PATH=/root/qte/build/qtopiacore/host/lib/
make install

  * If you have e.g. 8 core processor you can speed it up by passing -j8 arg
    to configure and make.

  * Upload the result to your device (you must have phone and usb network up)

../qtmoko/devices/gta04/scripts/update_qtmoko

Native compiling on GTA04
=========================

  * Very easy to setup, takes long time, can produce QtMoko armhf package

  * You will need working QtMoko installation on at least 8GB partition
  
  * Linking takes a lot of memory, so will need swap:
  
dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile
  
  * Install QtMoko dependecies:

apt-get update
apt-get install git quilt debhelper build-essential libtiff4-dev libmng-dev quilt libxext-dev libasound2-dev libdbus-1-dev libssl-dev libts-dev libbluetooth-dev libxtst-dev libpng12-dev libjpeg8-dev libv4l-dev libspeexdsp-dev libglib2.0-dev libsqlite3-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libpulse-dev libvorbis-dev libgps-dev
  
  * Get sources:
  
git clone git://github.com/radekp/qtmoko.git
cd qtmoko
git submodule init
git submodule update

  * Build the package:

scripts/build-package-gta04.sh

  * You might want to stop some services for more
    RAM:
    
/etc/init.d/qtmoko-gta04 stop
/etc/init.d/bluetooth stop

  * You can use ccache - first compilation will be slow but then compiling will
    be very fast.

Cross compiling without chroot
==============================
  
  * This is not supported anymore, but if you know what you are doing you can
    go on...

  * You will need Debian wheezy on your PC
  
  * Install required packages on your host PC:
  
apt-get build-dep libqt4-dev
apt-get install libqt4-dev libv4l-dev libdbus-1-dev libqt4-sql-sqlite
  
  * We will use emdebian toolchain, check this page:
  
        http://wiki.debian.org/EmdebianToolchain
        
  * Add emdebian apt repos and also sqeeze repos for older packages:
  
apt-get install emdebian-archive-keyring
echo "deb http://ftp.cz.debian.org/debian/ squeeze main contrib non-free" >> /etc/apt/sources.list
echo "deb http://www.emdebian.org/debian wheezy main" >> /etc/apt/sources.list
apt-get update

  * Install armel cross compiler:
  
apt-get install g++-4.4-arm-linux-gnueabi

  * Install xapt and libraries qtmoko depens on:
  
apt-get install xapt
xapt -a armel -m libxext-dev libasound2-dev libdbus-1-dev libssl-dev libts-dev libbluetooth-dev libxtst-dev libpng12-dev libjpeg8-dev libv4l-dev libspeexdsp-dev libglib2.0-dev libsqlite3-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libpulse-dev libvorbis-dev libgps-dev

  * Make sure that there is no libqt4 installed in /usr/arm-linux-gnueabi
    because QtMoko build can link agains that qt-x11 and will not work.

  * Make link for dbus.h:
  
cd /usr/arm-linux-gnueabi/include
ln -s dbus-1.0/dbus dbus

  * Clone current git tree:

git clone git://github.com/radekp/qtmoko.git

  * Initialize and update submodules

cd qtmoko
git submodule init
git submodule update

  * Create build directory (you cant build from the git directory)

mkdir ../build
cd ../build

  * Build it:

../qtmoko/configure -device neo
make
make install

  * Upload the result to your device (you must have phone and usb network up)

../qtmoko/devices/neo/scripts/update_qtmoko

  * If you want translations to various languages you need to checkout
    the translations git branch:

git checkout origin/translations -b translations


PC build
========

    * It's now possible to build QtMoko for x86 without cross compiling. This
    is great for development.

   * Create and enter debian chroot:

sudo scripts/qtmoko-chroot-armhf.sh
mkdir -p /root/qte/build-pc
cd /root/qte/build-pc

  * Build it:
    
../qtmoko/configure -device pc
make
export LD_LIBRARY_PATH=/root/qte/build-pc/qtopiacore/host/lib/
make install

    * To run the image you need to be root and symlink the result image to opt:
    
cd /opt
ln -s /root/qte/build-pc/image qtmoko

    * Now switch to first console (CTRL+ALT+F1) and run it:

. /opt/qtmoko/qpe.env
qpe


Old way
=======

  * Make sure you have installed on your host PC: libqt4-dev, libv4l-dev

  * You can also do fetch all build dependecies for qt:

apt-get build-dep libqt4-dev

  * Download and install toolchain

cd /
sudo wget http://sourceforge.net/projects/qtmoko/files/Toolchain/qtmoko-debian-toolchain-armv4t-eabi.tar.gz/download -O qtmoko-debian-toolchain-armv4t-eabi.tar.gz
sudo tar xzvpf qtmoko-debian-toolchain-armv4t-eabi.tar.gz

  * If you are on x86_64 you will need to download following 32bit libraries:

libmpfr1ldbl_XXX_i386.deb
libgmp3c2_XXX_i386.deb

     and extract the libraries from these package to /usr/lib32

  * Clone current git tree:

git clone git://github.com/radekp/qtmoko.git

  * Initialize and update submodules

cd qtmoko
git submodule init
git submodule update

  * Create build directory (you cant build from the git directory)

mkdir ../build
cd ../build

  * Build it:

../qtmoko/configure -force-build-qt -device neo
make
make install

  * Upload the result to your device (you must have phone and usb network up)

../qtmoko/devices/neo/scripts/update_qtmoko

  * If you want translations to various languages you need to checkout
    the translations git branch:

git checkout origin/translations -b translations


Compiling natively on ARM
=========================

* You need ARM device with a lot of storage 512MB of RAM (or 256MB + swap)

* Working devices are e.g. N900 or qemu armel buildhost.

* Basic buildhost can be downloaded from here:

http://sourceforge.net/projects/qtmoko/files/BuildHost/

* Install dependencies on build host:

apt-get build-dep libqt4-dev
apt-get install libdbus-1-dev libts-dev libbluetooth-dev libasound2-dev

* Get QtMoko sources:

git clone git://github.com/radekp/qtmoko.git

  * Initialize and update submodules

cd qtmoko
git submodule init
git submodule update

  * Create build directory (you cant build from the git directory)

mkdir ../build
cd ../build

  * Build it:

../qtmoko/configure -device neo -xplatform linux-native-g++ -l dbus-1 -I /usr/include/dbus-1.0/ -I /usr/lib/dbus-1.0/include
make
make install


Qt Extended README
==================

Overview
This is Trolltech's Qt Extended Open Source edition. See the LICENSE.GPL file for the licensing information of this software.
This package contains source code for Qt Extended plus parts of the source code of Qt. Apart from this source package it should not be necessery to install any other Trolltech package to be able to compile Qt Extended.

Documentation
The package contains the Qt Extended reference documentation including all relevant Qt documentation. The documentation includes the following:
 - doc/html/index.html: the starting page for all documentation.
 - doc/html/getting-started.html: for help with installing, building and running Qt Extended.
 - doc/html/building-guide.html: for detailed help with building Qt Extended from source.
For the most up-to-date information, please refer to the http://doc.trolltech.com/

Licenses
You can only develop GPL licensed applications using the Qt Extended Open Source edition. If you wish to develop a commercial application, please go to http://www.trolltech.com/downloads to purchase the commercial package.
For questions regarding licensing terms, email [email protected].

Copyright C 2009 Trolltech ASA