Editing Miniature/Development/Instructions

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
[[Category:Miniature|Development]]
 
-
 
-
{{out of date}}
 
-
 
-
== Two choices ==
 
-
A) Be hardcore and install sbox semi-manual using the CLI installer script,
 
-
B) Be clever and [http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Platforms/Maemo/ download the GUI installer for the Maemo 5 SDK] from Forum Nokia!
 
-
 
-
=== You choose A ===
 
-
Continue with "Getting started - plot summary".
 
-
 
-
=== You choose B ===
 
-
Choice B will reward you with a fully working sbox and two targets (X86, ARMEL) so you can directly jump installing the Qt libs in their sbox environment.
 
-
 
-
Inside sbox:
 
-
  [sbox-FREMANTLE_X86: ~] > fakeroot apt-get install libqt4-maemo5-dev
 
-
 
-
Repeat for the ARMEL target:
 
-
  [sbox-FREMANTLE_X86: ~] sb-conf select FREMANTLE_ARMEL
 
-
  [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get install libqt4-maemo5-dev
 
-
 
-
Continue with "Compiling Miniature inside Scratchbox".
 
-
 
== Getting started - plot summary ==
== Getting started - plot summary ==
WARNING: This list does not necessarily explain what every step does, nor will it help you in case you run into problems! Also, I will assume your host machine has a i386 architecture (I use Jaunty, 64 bit installation instructions are not covered here).
WARNING: This list does not necessarily explain what every step does, nor will it help you in case you run into problems! Also, I will assume your host machine has a i386 architecture (I use Jaunty, 64 bit installation instructions are not covered here).
Line 29: Line 6:
On the host machine (= your computer, the other side is inside scratchbox, your cross compiling environment to create binaries/packages for the N900):
On the host machine (= your computer, the other side is inside scratchbox, your cross compiling environment to create binaries/packages for the N900):
-
   $ sudo vi /etc/sysctl.conf
+
   $ sudo vim /etc/sysctl.conf
Copy and paste those three lines to the top:
Copy and paste those three lines to the top:
   #maemo
   #maemo
Line 35: Line 12:
   vm.mmap_min_addr = 4096
   vm.mmap_min_addr = 4096
-
(NB: Its "abi.vsyscall32=0" for Linux kernels newer than 2.6.25)
+
Save with <ESC> :wq (or use nano as an editor). Reboot your host machine.
-
 
+
-
Save with <ESC> :wq (or use nano as an editor). Then reload sysctl.conf with:
+
-
  sudo sysctl -p
+
Start with the Maemo SDK installation:
Start with the Maemo SDK installation:
Line 45: Line 19:
   $ wget http://repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh
   $ wget http://repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh
   $ chmod a+x ./maemo-scratchbox-install_5.0.sh
   $ chmod a+x ./maemo-scratchbox-install_5.0.sh
 +
  $ ./maemo-sdk-install_5.0.sh
   $ sudo ./maemo-scratchbox-install_5.0.sh -u USER
   $ sudo ./maemo-scratchbox-install_5.0.sh -u USER
   $ newgrp sbox
   $ newgrp sbox
-
  $ chmod a+x ./maemo-sdk-install_5.0.sh
 
   $ ./maemo-sdk-install_5.0.sh
   $ ./maemo-sdk-install_5.0.sh
   $ /scratchbox/login
   $ /scratchbox/login
-
 
-
Install Qt 4.6 [http://wiki.maemo.org/Qt here]
 
[http://tablets-dev.nokia.com/eula/index.php Get tokenized Maemo/Nokia repo here], enter token code and keep page open. You'll soon need the repo link.
[http://tablets-dev.nokia.com/eula/index.php Get tokenized Maemo/Nokia repo here], enter token code and keep page open. You'll soon need the repo link.
Line 59: Line 31:
   [sbox-FREMANTLE_X86: ~] > fakeroot apt-get update #simply repeat if it aborts in-between, ignore bad GPG
   [sbox-FREMANTLE_X86: ~] > fakeroot apt-get update #simply repeat if it aborts in-between, ignore bad GPG
   [sbox-FREMANTLE_X86: ~] > fakeroot apt-get install nokia-binaries #repeat if interrupted/incomplete
   [sbox-FREMANTLE_X86: ~] > fakeroot apt-get install nokia-binaries #repeat if interrupted/incomplete
-
   [sbox-FREMANTLE_X86: ~] > fakeroot apt-get install libqt4-maemo5-dev
+
   [sbox-FREMANTLE_X86: ~] > fakeroot apt-get install libqt4-dev
-
  [sbox-FREMANTLE_X86: ~] > fakeroot apt-get install maemo-debug-scripts #enables native-gdb and other neat stuff
+
Now do the same for the ARMEL target (= same architecture as device):
Now do the same for the ARMEL target (= same architecture as device):
Line 67: Line 38:
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get update #simply repeat if it aborts in-between, ignore bad GPG
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get update #simply repeat if it aborts in-between, ignore bad GPG
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get install nokia-binaries #repeat if interrupted/incomplete
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get install nokia-binaries #repeat if interrupted/incomplete
-
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get install libqt4-maemo5-dev
+
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get install libqt4-dev
=== Compiling Miniature inside Scratchbox ===
=== Compiling Miniature inside Scratchbox ===
-
Back to the FREMANTLE_X86 target, so you can run Miniature from inside scratchbox. Use your *private* gitorious url instead of the public clone url if you want to push changes, too.
+
Back to the FREMANTLE_X86 target, so you can run Miniature from inside scratchbox. Use your *private* gitorious instead of the public clone url if you want to push changes, too.
   [sbox-FREMANTLE_ARMEL: ~] sb-conf select FREMANTLE_X86
   [sbox-FREMANTLE_ARMEL: ~] sb-conf select FREMANTLE_X86
   [sbox-FREMANTLE_X86: ~] mkdir source
   [sbox-FREMANTLE_X86: ~] mkdir source
-
  [sbox-FREMANTLE_X86: ~] cd source
 
   [sbox-FREMANTLE_X86: ~] git clone git://gitorious.org/miniature/miniature.git
   [sbox-FREMANTLE_X86: ~] git clone git://gitorious.org/miniature/miniature.git
   [sbox-FREMANTLE_X86: ~] cd miniature
   [sbox-FREMANTLE_X86: ~] cd miniature
-
   [sbox-FREMANTLE_X86: ~] ./autogen.sh QT_PATH=/opt/qt4-maemo5/bin && make
+
   [sbox-FREMANTLE_X86: ~] ./autogen.sh && make
On your host machine (i.e., outside of scratchbox, do not close your sb session though):
On your host machine (i.e., outside of scratchbox, do not close your sb session though):
Line 98: Line 68:
   [sbox-FREMANTLE_ARMEL: ~] cd ~/source/miniature
   [sbox-FREMANTLE_ARMEL: ~] cd ~/source/miniature
   [sbox-FREMANTLE_ARMEL: ~] make distclean # dont worry if this fails
   [sbox-FREMANTLE_ARMEL: ~] make distclean # dont worry if this fails
-
   [sbox-FREMANTLE_ARMEL: ~] ./autogen.sh QT_PATH=/opt/qt4-maemo5/bin && make
+
   [sbox-FREMANTLE_ARMEL: ~] ./autogen.sh && make
Copy the binary onto the device (even if totally unsecure: let's just assume opensshd is installed and running on your N900):
Copy the binary onto the device (even if totally unsecure: let's just assume opensshd is installed and running on your N900):
Line 119: Line 89:
On your host:
On your host:
-
   $ sudo /etc/init.d/scratchbox-core stop
+
   $ /etc/init.d/scratchbox-core stop
If you get an error message be very careful with what you delete and what data you move around. Scratchbox might still have active symlink pointing to folders on your *host machine*. Your best solution, if you don't know what else to do, is a clean restart of your host machine!
If you get an error message be very careful with what you delete and what data you move around. Scratchbox might still have active symlink pointing to folders on your *host machine*. Your best solution, if you don't know what else to do, is a clean restart of your host machine!

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)

Templates used on this page: