Meego Wiki
Views

MeeGo UX Components Chroot Tutorial

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
m
(Steps)
 
(5 intermediate revisions not shown)
Line 15: Line 15:
Step 1. Get the latest source of the meego-ux-components
Step 1. Get the latest source of the meego-ux-components
 +
<pre>
cd ~/meego.gitorious
cd ~/meego.gitorious
-
git clone http://git.gitorious.org/meego-ux/meego-qml-launcher.git
+
git clone http://git.gitorious.org/meego-ux/meego-ux-components.git
 +
</pre>
Step 2. Download the 4/1 version of the QEMU image:
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/
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 3. Un-tar to get the .raw image
Step 4. Make a fs copy of the image:
Step 4. Make a fs copy of the image:
 +
<pre>
sudo mic-chroot -s ./chroot0405 -v
sudo mic-chroot -s ./chroot0405 -v
Downloads/meego-tablet-ia32-qemu-1.1.99.1.20110405.3.img
Downloads/meego-tablet-ia32-qemu-1.1.99.1.20110405.3.img
<exit the chroot>
<exit the chroot>
 +
</pre>
Step 5. mount --bind your source directory to a directory in the fs chroot
Step 5. mount --bind your source directory to a directory in the fs chroot
-
sudo mount -B /home/dlawlor/meego.gitorious/meego-ux-components
+
<pre>
-
meego-ux-components
+
# 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
Step 5. start the chroot
 +
<pre>
sudo mic-chroot ./chroot0401
sudo mic-chroot ./chroot0401
 +
</pre>
Step 6. Before building the sources, you need to git checkout a version
Step 6. Before building the sources, you need to git checkout a version
that will work with the 4/1 tablet image:
that will work with the 4/1 tablet image:
 +
<pre>
git checkout 0.2.1
git checkout 0.2.1
 +
</pre>
Step 7. startmeego to get all the MeeGO services started:
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 &
startmeego &
## Note - it will be helpful to edit the script
## Note - it will be helpful to edit the script
Line 45: Line 66:
## Change: Xephyr $DISP -screen 1024x600
## Change: Xephyr $DISP -screen 1024x600
## To: Xephyr $DISP -screen 1280x800
## To: Xephyr $DISP -screen 1280x800
 +
</pre>
Step 8. Start Qt Creator (in the mic-chroot terminal)
Step 8. Start Qt Creator (in the mic-chroot terminal)
 +
<pre>
qtcreator &
qtcreator &
 +
</pre>
Step 9: Install packages needed to build meego-ux-components
Step 9: Install packages needed to build meego-ux-components
 +
<pre>
zypper in libXdamage-devel
zypper in libXdamage-devel
zypper in libXcomposite-devel
zypper in libXcomposite-devel
Line 60: Line 85:
zypper in mlite
zypper in mlite
zypper in libexif-devel
zypper in libexif-devel
 +
</pre>
-
#. Install
+
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
cd ../meego-ux-components-build-desktop #If shadow build was checked
make install
make install
 +
</pre>
-
#. Run meego-ux-widgetgallery in a separate window
+
Step 11. Run meego-ux-widgetgallery in a separate window
 +
<pre>
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
 +
</pre>
-
#. Run meego-ux-widgetgallery in the Xephyr startmeego window
+
Step 12. Run meego-ux-widgetgallery in the Xephyr startmeego window
 +
<pre>
export DISPLAY=:2
export DISPLAY=:2
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
-
#. Run meego-ux-widgetgallery directly from the MeeGo environment
+
Step 13. Run meego-ux-widgetgallery directly from the MeeGo environment
# in the Xephyr Window, hit the Home (Windows) key
# in the Xephyr Window, hit the Home (Windows) key
# Choose the App Viewer
# Choose the App Viewer
Line 78: Line 112:
# run this command in the terminal window:
# run this command in the terminal window:
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
qmlviewer /usr/share/meego-ux-widgetgallery/main.qml
 +
</pre>
-
# you can also copy an existing .desktop file and change the exec
+
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
statement to meego-ux-widgetgallery if you want to click on an icon to
start it.
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