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
(Rename MeeGo to Mer)
(mic2->mic)
 
(5 intermediate revisions by one user not shown)
Line 5: Line 5:
  
 
__TOC__
 
__TOC__
== Creating a Mer Image ==
+
= Creating a Mer Image =
  
===STEP 1 - Install Meego Image Creator (MIC)===
+
==STEP 1 - Install Meego Image Creator (MIC2)==
  
To install it:
+
See the [[mic installation]] guide
* on OpenSuse
+
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=Mer 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 Mer
+
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 2 - Get Mer .ks File==
  
===STEP 2 - Get Mer .ks File===
+
KickStart (.ks) configuration files are passed to MIC to create images.
  
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.
+
There is a page with links to the official Mer [[:Category:kickstart|kickstart files]]
 
+
The official Mer .ks files are here:
+
 
+
Formal release: http://repo.meego.com/MeeGo/releases/1.2.0/builddata/image-configs/
+
 
+
Weekly build: http://repo.meego.com/MeeGo/builds/trunk/latest/builddata/image-configs/
+
 
+
You can download and use them as a base for the Mer 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 Mer 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 Mer 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 Mer LiveUSB Image===
+
To create a Mer rootfs image that you can untar onto a device, usb stick etc:
  
To create a Mer 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 96: 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 120: 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