The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Image Creation For Beginners

From Mer Wiki
(Difference between revisions)
Jump to: navigation, search
(direct import from meego wiki)
 
(mic2->mic)
 
(6 intermediate revisions by one user not shown)
Line 1: Line 1:
MeeGo Image Creator is the tool we use to create MeeGo images. Here are the simple steps on how to create a MeeGo image.  
+
MeeGo Image Creator is the tool we use to create Mer images. Here are the simple steps on how to create a Mer image.  
 
For more in-depth information, go to the main Image Creator developer's guide: [[Image Creation]]
 
For more in-depth information, go to the main Image Creator developer's guide: [[Image Creation]]
__TOC__
 
== Creating a MeeGo Image ==
 
  
===STEP 1 - Install Meego Image Creator (MIC)===
+
This page needs updating when the Mer Tools repo is setup correctly : see https://bugs.merproject.org/show_bug.cgi?id=117
  
To install it:
+
__TOC__
* on OpenSuse
+
= Creating a Mer Image =
sudo zypper addrepo http://repo.meego.com/MeeGo/tools/repos/opensuse/11.4/ meego-tools
+
sudo zypper refresh
+
sudo zypper install mic2
+
* on Fedora
+
add repo like this:
+
# cat <<REPO > /etc/yum.repos.d/meego-tools.repo
+
[meego-tools]
+
name=MeeGo Tools for Fedora
+
baseurl=http://repo.meego.com/MeeGo/tools/repos/fedora/\$releasever
+
enabled=1
+
gpgcheck=1
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-meego
+
REPO
+
add gpg key:
+
# gpg2 --keyserver subkeys.pgp.net --recv 0BC7BEC479FC1F8A
+
# gpg2 --export --armor 0BC7BEC479FC1F8A > /etc/pki/rpm-gpg/RPM-GPG-KEY-meego
+
Install mic2:
+
# yum install mic2
+
* on MeeGo
+
sudo zypper addrepo http://repo.meego.com/MeeGo/tools/repos/meego/1.1/ meego-tools
+
sudo zypper refresh
+
sudo zypper install mic2
+
* on Ubuntu or Debian:
+
For Ubuntu 10.10, add the below line to /etc/apt/sources.list
+
deb http://repo.meego.com/MeeGo/tools/repos/ubuntu/10.10/ /
+
For Debian 5.0, add the below line to /etc/apt/sources.list
+
deb http://repo.meego.com/MeeGo/tools/repos/debian/5.0/ /
+
Install mic2:
+
$sudo apt-get update
+
$sudo apt-get install mic2
+
* Download MIC source from Gitorious:
+
http://meego.gitorious.org/meego-developer-tools/image-creator
+
  
More on installation dependencies and options on downloading MIC, go to the 'Installation' section here: [[Image_Creation#Installation_Requirements]]
+
==STEP 1 - Install Meego Image Creator (MIC2)==
  
===STEP 2 - Get MeeGo .ks File===
+
See the [[mic installation]] guide
  
KickStart (.ks) configuration files are passed to MIC to create images. KickStart files specify what repos to pull from, what packages to include, what post-scripts to run and what type of images to create.
+
==STEP 2 - Get Mer .ks File==
  
The official MeeGo .ks files are here:
+
KickStart (.ks) configuration files are passed to MIC to create images.
  
Formal release: http://repo.meego.com/MeeGo/releases/1.2.0/builddata/image-configs/
+
There is a page with links to the official Mer [[:Category:kickstart|kickstart files]]
 
+
Weekly build: http://repo.meego.com/MeeGo/builds/trunk/latest/builddata/image-configs/
+
 
+
You can download and use them as a base for the MeeGo images you create. Modify these .ks files as you wish to create tailored images.
+
  
 
For details about how to modify the ks file, please refer: http://wiki.meego.com/Image_Configurations_-_KickStart_Files
 
For details about how to modify the ks file, please refer: http://wiki.meego.com/Image_Configurations_-_KickStart_Files
  
===STEP 3 - Create MeeGo Livecd Image===
+
==STEP 3 - Create a bootstrap area==
  
MIC has to be run with root privileges using 'sudo'.
+
MIC has to have the right tools - rather than package these for every distribution Mer uses a bootstrap area for mic. This area is currently based on MeeGo but will migrate to Mer soon.
  
Here is the command to create a MeeGo livecd image you can burn onto a CD.
+
Here is the command to create a Mer bootstrap image:
  
<pre>
+
mic-create-bootstrap -n trunk -k /var/cache/mic -r http://repo.meego.com/MeeGo/builds/trunk/latest/repos/oss/ia32/packages/ -o /var/cache/meego-bootstrap
sudo mic-image-creator --config=default.ks --format=livecd --cache=mycache
+
</pre>
+
  
A file named meego-1.2-default-XX.iso is created.  This ISO image is a hybrid image and can be either written to a disk device or burned onto a cd.
+
==STEP 4 - Create Mer rootfs Image==
  
===STEP 4 - Create MeeGo LiveUSB Image===
+
To create a Mer rootfs image that you can untar onto a device, usb stick etc:
  
To create a MeeGo liveusb image that you can transfer to a USB stick.
+
sudo mic-image-creator --config=mer-default.ks --format=rootfs --cache=/var/cache/meego-bootstrap
  
<pre>
+
A file named [[Category:FIXME]]??? will be created.
sudo mic-image-creator --config=default.ks --format=liveusb --cache=mycache
+
</pre>
+
  
A file named meego-1.2-default-XX.usbimg will be created. To burn it onto a USB stick, run the following command:
+
You can also create raw disk images, usb images or just create a filesystem under a directory.
  
<pre>
+
Diagnostic note: If you see something like:
sudo mic-image-writer meego-1.2-default-XX.usbimg
+
Package SOMETHING.rpm is damaged:
</pre>
+
  /var/tmp/cache/packages/mer-core-i586/noarch/SOMETHING.rpm
  
This image has a FAT file system and can be mounted easily on Windows and other OSes.
+
This means a checksum mismatch was seen and the package was re-downloaded automatically - nothing to worry about.
  
== Configure Proxy and Other Variables ==
+
= Configure Proxy and Other Variables =
  
 
~/.mic2.conf is a configuration file that can make your life easier by specifying proxy settings, cache directories, and other variables that you normally would have to re-type in your command-line.  
 
~/.mic2.conf is a configuration file that can make your life easier by specifying proxy settings, cache directories, and other variables that you normally would have to re-type in your command-line.  
Line 93: Line 51:
 
Replace with your own relevant values.
 
Replace with your own relevant values.
  
<pre>
 
[main]
 
cachedir=/home/user1/mycache
 
tmpdir=/home/user1/mystorage/tmp
 
outdir=/home/user1/mystorage
 
proxy=http://my.proxy.com:911/
 
no_proxy=localhost,127.0.0.0/8,.mysite.com,172.16.0.0/16
 
</pre>
 
  
''cachedir'' = directory where the cached repo(s) will resideWith this variable set, you do not need to pass the --cache flag in the command-line.
+
[main]
 +
cachedir=/home/user1/mycache
 +
tmpdir=/home/user1/mystorage/tmp
 +
outdir=/home/user1/mystorage
 +
proxy=http://my.proxy.com:911/
 +
  no_proxy=localhost,127.0.0.0/8,.mysite.com,172.16.0.0/16
  
''tmpdir'' = temporary directory used by mic2 when creating images.  With this variable set, you do not need to pass the --tmpdir flag in the command-line.
 
  
''outdir'' = where your images will reside once they are created.  With this variable set, you do not need to pass the --outdir flag in the command-line.
+
;cachedir
 +
: directory where the cached repo(s) will reside.  With this variable set, you do not need to pass the --cache flag in the command-line.
  
''proxy'' = specify your proxy if you're behind a behind a firewall.
+
;tmpdir
 +
:temporary directory used by mic2 when creating images.  With this variable set, you do not need to pass the --tmpdir flag in the command-line.
  
''no_proxy'' = specify what domains should not sure the proxy setting.
+
;outdir
 +
:where your images will reside once they are created.  With this variable set, you do not need to pass the --outdir flag in the command-line.
 +
 
 +
;proxy
 +
:specify your proxy if you're behind a behind a firewall.
 +
 
 +
;no_proxy
 +
:specify what domains should not sure the proxy setting.
  
 
'''Note:''' When specifying proxy and no_proxy, you do not need to use the --proxy flag in your .ks files when referring to repos.
 
'''Note:''' When specifying proxy and no_proxy, you do not need to use the --proxy flag in your .ks files when referring to repos.
Line 117: Line 80:
  
  
Another language version of this page
+
[[Category:mic]]
 
+
* [[适合新手的镜像制作-_-简体中文]]
+

Latest revision as of 21:06, 21 February 2012

MeeGo Image Creator is the tool we use to create Mer images. Here are the simple steps on how to create a Mer image. For more in-depth information, go to the main Image Creator developer's guide: Image Creation

This page needs updating when the Mer Tools repo is setup correctly : see https://bugs.merproject.org/show_bug.cgi?id=117

Contents

[edit] Creating a Mer Image

[edit] STEP 1 - Install Meego Image Creator (MIC2)

See the mic installation guide

[edit] STEP 2 - Get Mer .ks File

KickStart (.ks) configuration files are passed to MIC to create images.

There is a page with links to the official Mer kickstart files

For details about how to modify the ks file, please refer: http://wiki.meego.com/Image_Configurations_-_KickStart_Files

[edit] STEP 3 - Create a bootstrap area

MIC has to have the right tools - rather than package these for every distribution Mer uses a bootstrap area for mic. This area is currently based on MeeGo but will migrate to Mer soon.

Here is the command to create a Mer bootstrap image:

mic-create-bootstrap -n trunk -k /var/cache/mic -r http://repo.meego.com/MeeGo/builds/trunk/latest/repos/oss/ia32/packages/ -o /var/cache/meego-bootstrap

[edit] STEP 4 - Create Mer rootfs Image

To create a Mer rootfs image that you can untar onto a device, usb stick etc:

sudo mic-image-creator --config=mer-default.ks --format=rootfs --cache=/var/cache/meego-bootstrap

A file named??? will be created.

You can also create raw disk images, usb images or just create a filesystem under a directory.

Diagnostic note: If you see something like:

Package SOMETHING.rpm is damaged:
 /var/tmp/cache/packages/mer-core-i586/noarch/SOMETHING.rpm

This means a checksum mismatch was seen and the package was re-downloaded automatically - nothing to worry about.

[edit] Configure Proxy and Other Variables

~/.mic2.conf is a configuration file that can make your life easier by specifying proxy settings, cache directories, and other variables that you normally would have to re-type in your command-line.

Copy and paste this into a file called: ~/.mic2.conf

Replace with your own relevant values.


[main]
cachedir=/home/user1/mycache
tmpdir=/home/user1/mystorage/tmp
outdir=/home/user1/mystorage
proxy=http://my.proxy.com:911/
no_proxy=localhost,127.0.0.0/8,.mysite.com,172.16.0.0/16


cachedir
directory where the cached repo(s) will reside. With this variable set, you do not need to pass the --cache flag in the command-line.
tmpdir
temporary directory used by mic2 when creating images. With this variable set, you do not need to pass the --tmpdir flag in the command-line.
outdir
where your images will reside once they are created. With this variable set, you do not need to pass the --outdir flag in the command-line.
proxy
specify your proxy if you're behind a behind a firewall.
no_proxy
specify what domains should not sure the proxy setting.

Note: When specifying proxy and no_proxy, you do not need to use the --proxy flag in your .ks files when referring to repos.

---FOR ADDITIONAL INFORMATION ON MIC, PLEASE VISIT THE MIC DEVELOPER'S GUIDE HERE: Image_Creation---

Personal tools