Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(categorise)
 
(18 intermediate revisions not shown)
Line 1: Line 1:
-
=MIC on Debian=
 
-
 
This page is designed to describe how to install the MeeGo Image Creator (MIC) on Debian to allow one to build MeeGo images on Debian.
This page is designed to describe how to install the MeeGo Image Creator (MIC) on Debian to allow one to build MeeGo images on Debian.
-
=Installing=
+
==Installing MIC==
MIC can be installed on Debian Squeeze using packages from MeeGo.
MIC can be installed on Debian Squeeze using packages from MeeGo.
-
1. Add the following line to /etc/apt/sources.list:
+
# Add the following line to <code>/etc/apt/sources.list</code>:<pre>deb <nowiki>http://repo.meego.com/tools/repos/debian/5.0/</nowiki> /</pre>
-
deb <nowiki>http://repo.meego.com/tools/repo/Debian_5.0/</nowiki> /
+
# Install mic2:<pre>apt-get update</pre>
 +
 
 +
'''Note''': You should see the following error: W: GPG error: http://repo.meego.com Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0BC7BEC479FC1F8A
 +
To add the repository public key use the following command:
 +
<pre>
 +
gpg --keyserver subkeys.pgp.net --recv 0BC7BEC479FC1F8A
 +
gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
 +
apt-get install mic2
 +
</pre>
 +
 
 +
==Building MIC==
 +
 
 +
If the version of mic2 in the above repository doesn't suite your needs, MIC can be rebuilt from source. If you've already installed mic2, simply remove it:
-
2. Install mic2
+
# <pre>apt-get remove mic2</pre>'''Note''': do not let apt remove the other packages that mic2 brought in (currently ''syslinux squashfs-tools parted kpartx python-iniparse libparted1.8-12'').<br />If you are using squeeze/sid you'll also have to downgrade your autoconf version to autoconf2.13 because mic2 uses an obsolete version of autoconf for some reason.<br />You'll also need a version of squashfs-tools > 4.0
-
apt-get update
+
# <pre>git clone git://gitorious.org/meego-developer-tools/image-creator.git</pre>
-
apt-get install mic2
+
# <pre>cd image-creator/</pre>
 +
# <pre>./autogen.sh</pre>
 +
# <pre>./configure</pre>
 +
# <pre>make clean</pre>
 +
# <pre>make</pre>
 +
# <pre>su -c "make install"</pre>
-
=Building a MeeGo image=
+
==Building a MeeGo image==
The following line will build a USB image:
The following line will build a USB image:
Line 20: Line 35:
  su -c "mic-image-creator --config=default.ks --format=liveusb --cache=mycache"
  su -c "mic-image-creator --config=default.ks --format=liveusb --cache=mycache"
-
See http://wiki.meego.com/Image_Creation_For_Beginners or http://wiki.meego.com/Image_Creation
+
See [[Image Creation For Beginners]] or [[Image Creation]] for more information, including how to find/create a .ks file.
-
for more information, including how to find/create a .ks file.
+
-
=Known Bugs=
+
==Using a chroot==
-
1. Installing mic2 0.17 gives the following error message, which seems to not be a problem:
+
To use a chroot, follow the instructions in [[Developing in a Meego Environment]].
-
Processing triggers for python-support ...
+
Take careful note of the warning message that is displayed about not removing any left over chroot directories.
-
Compiling /usr/lib/pymodules/python2.4/mic/appcreate/nand.py ...
+
-
  File "/usr/lib/pymodules/python2.4/mic/appcreate/nand.py", line 282
+
-
    finally:
+
-
          ^
+
-
SyntaxError: invalid syntax
+
-
2. The current Debian Squeeze package (mic2 0.17) does not work to chroot into a MeeGo image:
+
==Known Bugs==
-
  su -c "mic-chroot meego-codedrop-ia32-developer-201003311106.img"
+
<ol>
-
Error: I can't recognize this image type.
+
<li>
 +
Installing mic2 0.17 gives the following error message, which seems to not be a problem:
 +
<pre>
 +
Processing triggers for python-support ...
 +
Compiling /usr/lib/pymodules/python2.4/mic/appcreate/nand.py ...
 +
  File "/usr/lib/pymodules/python2.4/mic/appcreate/nand.py", line 282
 +
  finally:
 +
        ^
 +
SyntaxError: invalid syntax
 +
</pre>
 +
</li>
 +
<li>
 +
The current Debian Squeeze package (mic2 0.17) does not work to chroot into a MeeGo image:
 +
<pre>
 +
su -c "mic-chroot meego-codedrop-ia32-developer-201003311106.img"
 +
Error: I can't recognize this image type.
 +
</pre>
 +
However, it '''is''' possible to use the image:
 +
<ol>
 +
<li>
 +
<pre>mkdir /mnt/meego</pre>
 +
</li>
 +
<li>
 +
<pre>losetup -f --show meego-codedrop-ia32-developer-201003311106.img</pre>
 +
</li>
 +
<li>
 +
<pre>mount /dev/loop0 /mnt/meego</pre>
 +
</li>
 +
<li>
 +
<pre>mic-chroot /mnt/meego</pre>
 +
</li>
 +
</ol>
 +
</li>
 +
<li>
 +
[http://bugzilla.meego.com/show_bug.cgi?id=577 Bug 577]: building a raw image causes error message and loop device to be left allocated.
-
It '''is''' possible to use the image without using ''mic-chroot'':
+
If MIC is used to build a raw image, then some "bad file descriptor" errors are reported. These do not affect the image but they do result in a loop device not being freed.
 +
To see the loop devices currently in use, use:<pre>losetup -a</pre>
-
# mkdir /mnt/meego
+
The loop device can be freed using:
-
# losetup -f --show meego-codedrop-ia32-developer-201003311106.img
+
<pre>
-
# mount /dev/loop0 /mnt/meego
+
dmsetup remove /dev/mapper/loop5p1
-
# chroot /mnt/meego
+
losetup -d /dev/loop5
 +
</pre>
 +
(''loop5'' in the two commands above should be replaced with the actual loop device shown by ''losetup -a'')
 +
</li>
 +
</ol>
-
However, the convenient bind mounts are not present.
+
[[Category:Tutorial]]

Latest revision as of 09:36, 12 April 2011

This page is designed to describe how to install the MeeGo Image Creator (MIC) on Debian to allow one to build MeeGo images on Debian.

Contents

Installing MIC

MIC can be installed on Debian Squeeze using packages from MeeGo.

  1. Add the following line to /etc/apt/sources.list:
    deb http://repo.meego.com/tools/repos/debian/5.0/ /
  2. Install mic2:
    apt-get update

Note: You should see the following error: W: GPG error: http://repo.meego.com Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0BC7BEC479FC1F8A To add the repository public key use the following command:

gpg --keyserver subkeys.pgp.net --recv 0BC7BEC479FC1F8A
gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
apt-get install mic2

Building MIC

If the version of mic2 in the above repository doesn't suite your needs, MIC can be rebuilt from source. If you've already installed mic2, simply remove it:

  1. apt-get remove mic2
    Note: do not let apt remove the other packages that mic2 brought in (currently syslinux squashfs-tools parted kpartx python-iniparse libparted1.8-12).
    If you are using squeeze/sid you'll also have to downgrade your autoconf version to autoconf2.13 because mic2 uses an obsolete version of autoconf for some reason.
    You'll also need a version of squashfs-tools > 4.0
  2. git clone git://gitorious.org/meego-developer-tools/image-creator.git
  3. cd image-creator/
  4. ./autogen.sh
  5. ./configure
  6. make clean
  7. make
  8. su -c "make install"

Building a MeeGo image

The following line will build a USB image:

su -c "mic-image-creator --config=default.ks --format=liveusb --cache=mycache"

See Image Creation For Beginners or Image Creation for more information, including how to find/create a .ks file.

Using a chroot

To use a chroot, follow the instructions in Developing in a Meego Environment.

Take careful note of the warning message that is displayed about not removing any left over chroot directories.

Known Bugs

  1. Installing mic2 0.17 gives the following error message, which seems to not be a problem:
    Processing triggers for python-support ...
    Compiling /usr/lib/pymodules/python2.4/mic/appcreate/nand.py ...
     File "/usr/lib/pymodules/python2.4/mic/appcreate/nand.py", line 282
       finally:
             ^
    SyntaxError: invalid syntax
    
  2. The current Debian Squeeze package (mic2 0.17) does not work to chroot into a MeeGo image:
    su -c "mic-chroot meego-codedrop-ia32-developer-201003311106.img"
    Error: I can't recognize this image type.
    

    However, it is possible to use the image:

    1. mkdir /mnt/meego
    2. losetup -f --show meego-codedrop-ia32-developer-201003311106.img
    3. mount /dev/loop0 /mnt/meego
    4. mic-chroot /mnt/meego
  3. Bug 577: building a raw image causes error message and loop device to be left allocated. If MIC is used to build a raw image, then some "bad file descriptor" errors are reported. These do not affect the image but they do result in a loop device not being freed. To see the loop devices currently in use, use:
    losetup -a

    The loop device can be freed using:

    dmsetup remove /dev/mapper/loop5p1
    losetup -d /dev/loop5
    

    (loop5 in the two commands above should be replaced with the actual loop device shown by losetup -a)

Personal tools