(→Building: Use politically correct program name) |
(categorise) |
||
| (19 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
| - | |||
| - | |||
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. | ||
| - | + | # 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> | |
| - | + | # 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== | + | ==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: | |
| + | |||
| + | # <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 | + | 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== | ||
| - | + | <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. | ||
| - | + | 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> | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | 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> | ||
| - | + | [[Category:Tutorial]] | |
| - | + | ||
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 |
MIC can be installed on Debian Squeeze using packages from MeeGo.
/etc/apt/sources.list:deb http://repo.meego.com/tools/repos/debian/5.0/ /
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
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:
apt-get remove mic2Note: do not let apt remove the other packages that mic2 brought in (currently syslinux squashfs-tools parted kpartx python-iniparse libparted1.8-12).
git clone git://gitorious.org/meego-developer-tools/image-creator.git
cd image-creator/
./autogen.sh
./configure
make clean
make
su -c "make install"
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.
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.
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
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:
mkdir /mnt/meego
losetup -f --show meego-codedrop-ia32-developer-201003311106.img
mount /dev/loop0 /mnt/meego
mic-chroot /mnt/meego
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)