Meego Wiki
Views

MeeGo UX Components Chroot Tutorial

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Building and Running MeeGo UX Components in a Linux chroot environment)
(Steps)
 
(6 intermediate revisions not shown)
Line 2: Line 2:
This tutorial will take the developer through the process of building from source the [[SDK/Docs/1.2/MeeGo_SDK_1.2_Preview|meego-ux-components package]] in a chroot development environment on Linux.
This tutorial will take the developer through the process of building from source the [[SDK/Docs/1.2/MeeGo_SDK_1.2_Preview|meego-ux-components package]] in a chroot development environment on Linux.
-
This tutorial is based on the [[/SDK/Docs/1.2/MeeGo_SDK_1.2_Preview|MeeGo SDK 1.2 Preview (with Tablet)]] release
+
This tutorial is based on the [[SDK/Docs/1.2/MeeGo_SDK_1.2_Preview|MeeGo SDK 1.2 Preview (with Tablet)]] release.
-
== Pre-requisites ==
+
This tutorial was created with a specific Tablet Build (04-01-2011) and has specific instructions related to that build. Specifically, a git checkout of a tag is required.
 +
 
 +
== Prerequisites ==
 +
* Linux Only
 +
* [[SDK/Docs/1.2/MeeGo_SDK_1.2_Preview_for_Linux| MeeGo SDK 1.2]] installed
 +
* [[Developing_in_a_Meego_Environment|Install / Setup mic-chroot]]
 +
 
 +
 
 +
== Steps ==
 +
 
 +
Step 1. Get the latest source of the meego-ux-components
 +
<pre>
 +
cd ~/meego.gitorious
 +
git clone http://git.gitorious.org/meego-ux/meego-ux-components.git
 +
</pre>
 +
 
 +
Step 2. Download the 4/1 version of the QEMU image:
 +
<pre>
 +
http://download.meego.com/trunk-daily/builds/1.1.90/1.1.99.1.20110401.1/images/meego-tablet-ia32-qemu/
 +
</pre>
 +
 
 +
Step 3. Un-tar to get the .raw image
 +
 
 +
Step 4. Make a fs copy of the image:
 +
<pre>
 +
sudo mic-chroot -s ./chroot0405 -v
 +
Downloads/meego-tablet-ia32-qemu-1.1.99.1.20110405.3.img
 +
<exit the chroot>
 +
</pre>
 +
 
 +
Step 5. mount --bind your source directory to a directory in the fs chroot
 +
<pre>
 +
# once, after creating the chroot0405 directory
 +
sudo mkdir chroot0405/home/meego-ux-components
 +
 
 +
#repeat after each reboot, or add to system .profile
 +
sudo mount -B ~/meego.gitorious/meego-ux-components ~/chroot0405/home/meego-ux-components
 +
 
 +
</pre>
 +
 
 +
Step 5. start the chroot
 +
<pre>
 +
sudo mic-chroot ./chroot0401
 +
</pre>
 +
 
 +
Step 6. Before building the sources, you need to git checkout a version
 +
that will work with the 4/1 tablet image:
 +
<pre>
 +
git checkout 0.2.1
 +
</pre>
 +
 
 +
Step 7. startmeego to get all the MeeGO services started:
 +
<pre>
 +
# You may have to allow connections to your X server
 +
# you can test this by running xclock in the chroot
 +
xhost +
 +
 
 +
startmeego &
 +
## Note - it will be helpful to edit the script
 +
/usr/bin/startmeego-debug-tablet
 +
## Change: Xephyr $DISP -screen 1024x600
 +
## To: Xephyr $DISP -screen 1280x800
 +
</pre>
 +
 
 +
Step 8. Start Qt Creator (in the mic-chroot terminal)
 +
<pre>
 +
qtcreator &
 +
</pre>
 +
 
 +
Step 9: Install packages needed to build meego-ux-components
 +
<pre>
 +
zypper in libXdamage-devel
 +
zypper in libXcomposite-devel
 +
zypper in libX11-devel
 +
zypper in kcalcore-devel
 +
zypper in qt-mobility-devel
 +
zypper in libqtopengl-devel
 +
zypper in libcontentaction-devel
 +
zypper in contextkit-devel
 +
zypper in mlite
 +
zypper in libexif-devel
 +
</pre>
 +
 
 +
Step 10. Build and Install
 +
<pre>
 +
# In Qt Creator: Build->Build All
 +
 
 +
# from the chroot terminal (Until install / deploy step in Qt Creator is tested)
 +
cd ../meego-ux-components-build-desktop #If shadow build was checked
 +
make install
 +
</pre>
 +
 
 +
Step 11. Run meego-ux-widgetgallery in a separate window
 +
<pre>
 +
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
 +
</pre>
 +
 
 +
Step 12. Run meego-ux-widgetgallery in the Xephyr startmeego window
 +
<pre>
 +
export DISPLAY=:2
 +
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
 +
 
 +
Step 13. Run meego-ux-widgetgallery directly from the MeeGo environment
 +
# in the Xephyr Window, hit the Home (Windows) key
 +
# Choose the App Viewer
 +
# Click on Terminal
 +
# run this command in the terminal window:
 +
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
 +
</pre>
 +
 
 +
Step 14. You can also copy an existing .desktop file and change the exec
 +
statement to meego-ux-widgetgallery if you want to click on an icon to
 +
start it.
 +
 
 +
== Todo ==
 +
* Automate the creation / startup of the chroot - in the the above steps, design a script which can perform steps 2 - 5, 7, 9, 14
 +
* Also document how to set up the SDK to run this application on a device.
 +
 
 +
[[Category:Tutorial]]

Latest revision as of 23:03, 28 April 2011

Contents

Overview

This tutorial will take the developer through the process of building from source the meego-ux-components package in a chroot development environment on Linux.

This tutorial is based on the MeeGo SDK 1.2 Preview (with Tablet) release.

This tutorial was created with a specific Tablet Build (04-01-2011) and has specific instructions related to that build. Specifically, a git checkout of a tag is required.

Prerequisites


Steps

Step 1. Get the latest source of the meego-ux-components

cd ~/meego.gitorious
git clone http://git.gitorious.org/meego-ux/meego-ux-components.git

Step 2. Download the 4/1 version of the QEMU image:

http://download.meego.com/trunk-daily/builds/1.1.90/1.1.99.1.20110401.1/images/meego-tablet-ia32-qemu/

Step 3. Un-tar to get the .raw image

Step 4. Make a fs copy of the image:

sudo mic-chroot -s ./chroot0405 -v
Downloads/meego-tablet-ia32-qemu-1.1.99.1.20110405.3.img
<exit the chroot>

Step 5. mount --bind your source directory to a directory in the fs chroot

# once, after creating the chroot0405 directory
sudo mkdir chroot0405/home/meego-ux-components

#repeat after each reboot, or add to system .profile
sudo mount -B ~/meego.gitorious/meego-ux-components ~/chroot0405/home/meego-ux-components

Step 5. start the chroot

sudo mic-chroot ./chroot0401

Step 6. Before building the sources, you need to git checkout a version that will work with the 4/1 tablet image:

git checkout 0.2.1

Step 7. startmeego to get all the MeeGO services started:

# You may have to allow connections to your X server
# you can test this by running xclock in the chroot
xhost +

startmeego &
## Note - it will be helpful to edit the script
/usr/bin/startmeego-debug-tablet
## Change: Xephyr $DISP -screen 1024x600
## To: Xephyr $DISP -screen 1280x800

Step 8. Start Qt Creator (in the mic-chroot terminal)

qtcreator &

Step 9: Install packages needed to build meego-ux-components

zypper in libXdamage-devel
zypper in libXcomposite-devel
zypper in libX11-devel
zypper in kcalcore-devel
zypper in qt-mobility-devel
zypper in libqtopengl-devel
zypper in libcontentaction-devel
zypper in contextkit-devel
zypper in mlite
zypper in libexif-devel

Step 10. Build and Install

# In Qt Creator: Build->Build All

# from the chroot terminal (Until install / deploy step in Qt Creator is tested)
cd ../meego-ux-components-build-desktop #If shadow build was checked
make install

Step 11. Run meego-ux-widgetgallery in a separate window

qmlviewer /usr/share/meego-ux-widgetgallery/main.qml

Step 12. Run meego-ux-widgetgallery in the Xephyr startmeego window

export DISPLAY=:2
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml

Step 13. Run meego-ux-widgetgallery directly from the MeeGo environment
# in the Xephyr Window, hit the Home (Windows) key
# Choose the App Viewer
# Click on Terminal
# run this command in the terminal window:
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml

Step 14. You can also copy an existing .desktop file and change the exec statement to meego-ux-widgetgallery if you want to click on an icon to start it.

Todo

  • Automate the creation / startup of the chroot - in the the above steps, design a script which can perform steps 2 - 5, 7, 9, 14
  • Also document how to set up the SDK to run this application on a device.
Personal tools