Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Building: Use politically correct program name)
(categorise)
 
(19 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>
-
2. Install mic2
+
'''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
-
apt-get update
+
To add the repository public key use the following command:
-
apt-get install mic2
+
<pre>
 +
gpg --keyserver subkeys.pgp.net --recv 0BC7BEC479FC1F8A
 +
gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
 +
apt-get install mic2
 +
</pre>
-
==Building==
+
==Building MIC==
-
The following line will build a USB image (''note: currently being tested -- gcobb''):
+
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:
 +
 
 +
# <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
 +
# <pre>git clone git://gitorious.org/meego-developer-tools/image-creator.git</pre>
 +
# <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==
 +
 
 +
The following line will build a USB image:
  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.
+
 
 +
==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==
==Known Bugs==
-
1. Installing mic2 0.17 gives the following error message, which seems to not be a problem:
+
<ol>
 +
<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.
-
Processing triggers for python-support ...
+
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.
-
Compiling /usr/lib/pymodules/python2.4/mic/appcreate/nand.py ...
+
To see the loop devices currently in use, use:<pre>losetup -a</pre>
-
  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:
+
The loop device can be freed using:
 +
<pre>
 +
dmsetup remove /dev/mapper/loop5p1
 +
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>
-
su -c "mic-chroot meego-codedrop-ia32-developer-201003311106.img"
+
[[Category:Tutorial]]
-
Error: I can't recognize this image type.
+

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