Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Building MIC)
(categorise)
 
(6 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 MIC=
+
==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
-
3. Note that mic2 does not currently declare its dependency on mkisofs so install that as well:
+
gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
-
apt-get install mkisofs
+
apt-get install mic2
 +
</pre>
==Building MIC==
==Building MIC==
Line 21: Line 20:
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:
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
+
# <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>
-
'''Note''': do not let apt remove the other packages that mic2 brought in
+
==Building a MeeGo image==
-
(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
+
-
 
+
-
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:
The following line will build a USB image:
Line 48: 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 [[Image Creation For Beginners]] or [[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=
+
==Using a chroot==
To use a chroot, follow the instructions in [[Developing in a Meego Environment]].
To use a chroot, follow the instructions in [[Developing in a Meego Environment]].
Line 57: Line 43:
Take careful note of the warning message that is displayed about not removing any left over chroot directories.
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:
+
-
 
+
-
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.
+
 +
<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:
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.
-
# mkdir /mnt/meego
+
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.
-
# losetup -f --show meego-codedrop-ia32-developer-201003311106.img
+
To see the loop devices currently in use, use:<pre>losetup -a</pre>
-
# mount /dev/loop0 /mnt/meego
+
-
# mic-chroot /mnt/meego
+
-
 
+
-
 
+
-
3. [http://bugzilla.meego.com/show_bug.cgi?id=509 Bug 509]: mic2 does not declare its dependency on mkisofs.
+
-
If you see this error message:
+
-
Error: failed to create image : Needed file: /usr/bin/mkisofs not found, please check your installation
+
-
You need to install ''mkisofs''.
+
-
 
+
-
4. [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.
+
-
 
+
-
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:
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>
-
dmsetup remove /dev/mapper/loop5p1
+
[[Category:Tutorial]]
-
losetup -d /dev/loop5
+
-
 
+
-
(''loop5'' in the two commands above should be replaced with the actual loop device shown by ''losetup -a'')
+

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