Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Known Bugs: Fix chroot workround)
(Building MIC)
Line 19: Line 19:
==Building MIC==
==Building MIC==
-
If the version of mic2 in the Debian_5.0 repository is not good enough, MIC can be rebuilt from source.
+
If the version of mic2 in the above repository doesn't suite your needs, MIC can be rebuilt from source.
1. apt-get remove mic2
1. apt-get remove mic2

Revision as of 13:19, 16 April 2010

Contents

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.

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/repo/Debian_5.0/ /

2. Install mic2

apt-get update
apt-get install mic2

3. Note that mic2 does not currently declare its dependency on mkisofs so install that as well:

apt-get install mkisofs

Building MIC

If the version of mic2 in the above repository doesn't suite your needs, MIC can be rebuilt from source.

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).

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"

Note: at the time of writing Debian Squeeze does not contain a late enough version of yum to satisfy the dependencies. If the ./configure phase complains about the yum version, then yum will need to be installed from Debian Unstable. To do that, temporarily add the line:

deb http://ftp.debian.org/ unstable main non-free contrib

to /etc/apt/sources.list and then invoke:

apt-get update
apt-get install yum

After installing the new yum, remove the line you added to /etc/apt/sources.list and do another apt-get update.

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 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. 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