Meego Wiki
Views

SDK/Docs/1.0/Building a MeeGo chroot on Linux

From MeeGo wiki
< SDK | Docs | 1.0(Difference between revisions)
Jump to: navigation, search
(Unpacking a netbook image: wikify link)
 
(6 intermediate revisions not shown)
Line 1: Line 1:
[[Category:devguide]]
[[Category:devguide]]
[[Category:meego-1.0]]
[[Category:meego-1.0]]
-
[[Category:meego-1.1]]
 
[[Category:tutorial]]
[[Category:tutorial]]
[[Category:netbook]]
[[Category:netbook]]
Line 11: Line 10:
Note that the approach covered here uses an x86 CPU to build software for an x86 version of MeeGo (e.g. a netbook image).
Note that the approach covered here uses an x86 CPU to build software for an x86 version of MeeGo (e.g. a netbook image).
-
If you want a really quick method for developing on MeeGo where you don't need to build the chroot, see [[Hello World - MeeGo x86 development on Linux]].
+
If you want a really quick method for developing on MeeGo where you don't need to build the chroot, see [[SDK/Docs/1.0/Hello World - MeeGo x86 development on Linux]].
== Pre-requisites ==
== Pre-requisites ==
Line 27: Line 26:
<ol>
<ol>
<li>
<li>
-
Install MeeGo Image Creator (MIC): use the instructions at http://wiki.meego.com/Image_Creation#Installation
+
Install MeeGo Image Creator (MIC): use the instructions at [[Image Creation#Installation]]
</li>
</li>
<li>
<li>
Unpack the image using MIC:<br/>
Unpack the image using MIC:<br/>
-
<pre>sudo mic-chroot --unpack-only -s ~/meego-chroot <image file>.usbimg</pre>
+
<pre>sudo mic-chroot --unpack-only -s /path/to/meego-chroot <image file>.usbimg</pre>
</li>
</li>
</ol>
</ol>
 +
 +
Replace <code>/path/to/meego-chroot</code> with your desired path.
=== Unpacking a handset image ===
=== Unpacking a handset image ===
 +
 +
These instructions cover creating a chroot from a handset image, by mounting the image temporarily and copying its contents into a local directory.
<ol>
<ol>
Line 83: Line 86:
To use the script with the unpacked chroot:
To use the script with the unpacked chroot:
-
  sudo ./mic-chroot /path/to/meego-chroot
+
  sudo mic-chroot /path/to/meego-chroot

Latest revision as of 09:58, 14 April 2011


This document describes how to create a MeeGo chroot environment from a stock image.

Note that the approach covered here uses an x86 CPU to build software for an x86 version of MeeGo (e.g. a netbook image).

If you want a really quick method for developing on MeeGo where you don't need to build the chroot, see SDK/Docs/1.0/Hello World - MeeGo x86 development on Linux.

Contents

Pre-requisites

All that's required for this is a reasonably modern Linux distribution (e.g. Fedora 11, Ubuntu 9.10).

Download and unpack a MeeGo image

Get an image or tarball (with a UX) from http://repo.meego.com/MeeGo/releases/; either a netbook or handset image.

The process for unpacking is slightly different, depending on the type of image.

Unpacking a netbook image

  1. Install MeeGo Image Creator (MIC): use the instructions at Image Creation#Installation
  2. Unpack the image using MIC:
    sudo mic-chroot --unpack-only -s /path/to/meego-chroot <image file>.usbimg

Replace /path/to/meego-chroot with your desired path.

Unpacking a handset image

These instructions cover creating a chroot from a handset image, by mounting the image temporarily and copying its contents into a local directory.

  1. Install kpartx (a tool for creating device maps from partition tables: because the handset images are raw disk images, this tool can be used to create a device map from the disk image, which can then be mounted on the filesystem)
    yum install kpartx

    or on non-RPM distros:

    apt-get install kpartx
  2. Unpack the tarball:
    tar jxvf meego-0.90-preview-shcdk-20100512-001.tar.bz2

    This leaves you with a directory which contains the raw disk image you're interested in.

  3. Create a device map from the raw image:
    cd meego-0.90-preview-shcdk-20100512-001
    sudo kpartx -a -v ./meego-0.90-preview-shcdk-20100512-001-sda.bin
    

    Note that this maps the first partition (p1) of the disk image onto the loop device /dev/loop0.

  4. Mount the device map and copy the filesystem into the chroot location:
    mkdir ~/tmp-mnt   # temporary mount point
    sudo mount /dev/mapper/loop0p1 ~/tmp-mnt -o loop,ro
    mkdir ~/meego-chroot
    sudo rsync -av ~/tmp-mnt ~/meego-chroot
    sudo umount ~/tmp-mnt
    
  5. Remove the device map:
    sudo kpartx -d -v ./meego-0.90-preview-shcdk-20100512-001-sda.bin
    
  6. Remove the temporary mount point:
    rmdir ~/tmp-mnt
    

Using the chroot

Chroot into the image using mic-chroot.

To use the script with the unpacked chroot:

sudo mic-chroot /path/to/meego-chroot
Personal tools