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!
=== Scratchbox installation ===
=== Scratchbox installation ===
-
[[Documentation/Maemo5_Final_Installation|Read the director's cut]] if you run into problems, it has become very accurate! Again, you have been warned. This stuff is potentially dangerous.
+
[[Documentation/Maemo5_Final_Installation|Read the director's cut]] if you run into problems, it has become very accurate! So how to install scratchbox, in short (again, potentially dangerous, you've been warned):
-
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 machin (= your computer, the other side is inside scratchbox, your cross compiling environment to create binaries/packages for the N900):
-
  $ sudo vi /etc/sysctl.conf
+
-
Copy and paste those three lines to the top:
+
-
  #maemo
+
-
  vm.vdso_enabled = 0
+
-
  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). Then reload sysctl.conf with:
+
-
  sudo sysctl -p
+
-
 
+
-
Start with the Maemo SDK installation:
+
   $ sudo apt-get install xserver-xephyr
   $ sudo apt-get install xserver-xephyr
   $ wget http://repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.sh
   $ wget http://repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.sh
   $ 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 22:
   [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):
   [sbox-FREMANTLE_X86: ~] sb-conf select FREMANTLE_ARMEL
   [sbox-FREMANTLE_X86: ~] sb-conf select FREMANTLE_ARMEL
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot echo "<repo link from token page>" >> /etc/apt/sources.list
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot echo "<repo link from token page>" >> /etc/apt/sources.list
-
   [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 b/c of bad inet or such, ignore the GPG warning at the end
-
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get install nokia-binaries #repeat if interrupted/incomplete
+
   [sbox-FREMANTLE_ARMEL: ~] > fakeroot apt-get install nokia-binaries
-
   [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 90: Line 51:
If you managed to do all this in under one hour consider yourself lucky - you saved yourself a alot of time!
If you managed to do all this in under one hour consider yourself lucky - you saved yourself a alot of time!
 +
 +
=== Closing scratchbox ===
 +
Do *not* ignore this section, sb uses dark symlink magic which can mess up your system!
 +
 +
Inside scratchbox:
 +
  [sbox-FREMANTLE_X86: ~] sb-menu
 +
Go to "Killall", confirm with enter twice. Only now close your session
 +
 +
On your host:
 +
  $ /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!
=== Compiling binaries for the N900 ===
=== Compiling binaries for the N900 ===
Line 98: Line 71:
   [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 110: Line 83:
Enjoy!
Enjoy!
-
 
-
=== Closing scratchbox ===
 
-
Do *not* ignore this section, sb uses dark symlink magic which can mess up your system! This is extra advice to cleanly shutdown scratchbox after you're done.
 
-
 
-
Inside scratchbox:
 
-
  [sbox-FREMANTLE_X86: ~] sb-menu
 
-
Go to "Killall", confirm with enter twice. Only now close your session
 
-
 
-
On your host:
 
-
  $ sudo /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!
 

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: