Meego Wiki
Views
From MeeGo wiki
Jump to: navigation, search

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