add new option --fslabel in part section
[platform/upstream/mic.git] / README.rst
old mode 100644 (file)
new mode 100755 (executable)
index 1037cd0..99b2778
-======================
- User Guide of **mic**
-======================
+MIC - Mic the Image Creator
+===========================
 
 Overview
-========
-The tool `mic` is used to create and manipulate images for Linux distributions.
-It's composed of three subcommand: create, convert, chroot. Subcommand `create`
-is used to create images with different types, including fs image, loop image,
-live CD image, live USB image, raw image, etc. For each image type, there is a
-corresponding subcommand. (Details in the following sections)
+--------
+MIC means "Mic the Image Creator" and it's used to create images for Tizen.
+The tool offers three major functions:
+
+- image creation
+- image conversion bwtween two different formats
+- chrooting into an image 
+
+With the MIC tool, users can create different types of images for different
+verticals, including live CD images, live USB images, raw images for KVM,
+loop images for IVI platforms, and fs images for chrooting. Also, users can
+work in a chroot environment, based on an existing live image using MIC's
+enhanced chrooting. Besides, MIC enables transforming an image to another
+image format, a very useful function for those sensitive to image format.
+
+It can also provide plugin mechanism for developers to expand image type or
+image options, and even to hook.
+
+Resource
+--------
+ * SITE: https://www.tizen.org/
+ * REPO: https://download.tizen.org/tools/
+ * DOCS: https://source.tizen.org/documentation/reference/mic-image-creator
+ * CODE: https://review.tizen.org/gerrit/tools/mic
+         https://github.com/01org/mic
+ * BUGS: https://bugs.tizen.org/jira
+ * HELP: general@lists.tizen.org
+
+
+License
+-------
+MIC is Open Source and is distributed under the GPLv2 License.
+Please see the COPYING file included with this software 
+
+
+Contacts
+--------
+When you found a bug, you can file this bug in our official bug tracker:
+https://bugs.tizen.org/jira
 
-It supports native running in many mainstream Linux distributions, including:
-
-  * Fedora (13 and above)
-  * openSUSE (11.3 and above)
-  * Ubuntu (10.04 and above)
-  * Debian (5.0 and above)
-  * MeeGo
-
-Installation
-============
-
-Repositories
-------------
-So far we support `mic` binary rpms/debs for many popular Linux distributions,
-please see the following list. And you can get the corresponding repository on
-`<http://download.meego.com/live/devel:/tools:/building/>`_, if there is no 
-your distribution in the list, please install the tool `mic` from source.
-
-  * Debian 5.0
-  * Fedora 13
-  * Fedora 14
-  * Fedora 15
-  * openSUSE 11.3
-  * openSUSE 11.4
-  * Ubuntu 10.04
-  * Ubuntu 10.10
-
-*Tips*: Debian 6.0 can use the repository of Debian 5.0.
-
-Binary Installation
--------------------
-
-Fedora Installation
-~~~~~~~~~~~~~~~~~~~
-1. Add devel:tools:building repo
-
->>> sudo cat <<REPO > /etc/yum.repos.d/devel-tools-building.repo
->>> [devel-tools-building]
->>> name=Tools for Fedora
->>> baseurl=http://download.meego.com/live/devel:/tools:/building/Fedora_<VERSION>
->>> enabled=1
->>> gpgcheck =1
->>> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-meego
->>> REPO
-
-Also you can take the repo file on devel:tools:building as example. For example,
-Fedora 13 can use:
-`<http://download.meego.com/live/devel:/tools:/building/Fedora_13/devel:tools:building.repo>`_.
-
-2. Update repolist
-
->>> sudo yum update
-
-3. Install mic
-
->>> sudo yum install mic
-
-openSUSE Installation
-~~~~~~~~~~~~~~~~~~~~~
-1. Add devel:tools:building repo
-
->>> sudo zypper addrepo http:/download.meego.com/live/devel:/tools:/building/openSUSE_<VERSION>/ devel-tools-building
-
-2. Update repolist
-
->>> sudo zypper refresh
-
-3. Update libzypp
-
->>> sudo zypper update libzypp
-
-4. Install mic
-
->>> sudo zypper install mic
-
-Ubuntu/Debian Installation
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-1. Append repo source
-
->>> sudo cat <<REPO >> /etc/apt-sources.list
->>> deb http://download.meego.com/live/devel:/tools:/building/<Ubuntu/Debian>_<VERSION>/ /
->>> REPO
-
-2. Update repolist
-
->>> sudo apt-get update
-
-3. Install mic
-
->>> sudo apt-get install mic
-
-Source Installation
--------------------
-First, get the source of mic (`<TBD>`_). Then unpack the tar ball, and use make
-to process the installation.
-
-1. unpack
-
->>> tar xzvf mic.tar.gz
-
-2. Build
-
->>> cd micng
->>> make clean
->>> make
-
-3. Install
-
->>> sudo make install
-
-Configuration file
-==================
-A global configure file for mic is provided as `/etc/mic/mic.conf`, where you 
-can specify the program options statically.
-Below is a sample file which is presented in the source:
-
->>> cat /etc/mic/mic.conf
->>> [common]
->>> ; general settings
->>>
->>> [create]
->>> ; settings for create subcommand
->>> tmpdir= /var/tmp/mic
->>> cachedir= /var/tmp/mic/cache
->>> outdir= .
->>> pkgmgr = zypp
->>>
->>> ; proxy = http://proxy.yourcompany.com:8080/
->>> ; no_proxy = localhost,127.0.0.0/8,.yourcompany.com
->>>
->>> [convert]
->>> ; settings for convert subcommand
->>>
->>> [chroot]
->>> ; settings for chroot subcommand
-
-For the further development, there are four sections on mic.conf, and [common]
-is for general setting, [create], [convert], and [chroot] are prepared for the
-options of mic subcommands: create, convert, and chroot.
-
-While you only need set [create] section properly for practice, since other
-section would be not effective currently.
-
-+---------+-------------------------------------------------------------------+
-| Option  | Usage                                                             |
-+=========+===================================================================+
-| tmpdir  | temporary directory used to put _instroot and others              |
-+---------+-------------------------------------------------------------------+
-| cachedir| directory where cached repos will reside also downloaded packages |
-+---------+-------------------------------------------------------------------+
-| outdir  | where your images will reside once they are created               |
-+---------+-------------------------------------------------------------------+
-| pkgmgr  | default backend package manager, including yum/zypp               |
-+---------+-------------------------------------------------------------------+
-| arch    | default repo architecture, like i586, armv7l                      |
-+---------+-------------------------------------------------------------------+
-
-Usages
-======
-It's recommended to use `--help` or `help <subcmd>` to get the help message, for
-the tool is more or less self-documented.
-
-Running 'mic create'
---------------------
-Subcommand *create* is used for creating images. To create an image, you should
-give the sub-sub commands which presents the image type you want, and also you
-should provide an argument which presents the kickstart file for using, such
-as:
-
->>> sudo mic create fs test.ks
-
-The supported image types can be listed using `mic create --help`::
-
-  fs             create fs image
-  livecd         create livecd image
-  liveusb        create liveusb image
-  loop           create loop image
-  raw            create raw image
-
-For each image type, you can get their own options by `--help` option, like
-`mic cr fs --help`. Meanwhile, there are some common options that can be used
-by all image types, see following table:
-
-+------------------+----------------------------------------------------------+
-| Option           | Usage                                                    |
-+==================+==========================================================+
-| -o/--outdir      | specify directory where the images reside                |
-+------------------+----------------------------------------------------------+
-| -a/--arch        | specify repo architecture, like i586, armv7l, etc        |
-+------------------+----------------------------------------------------------+
-| -c/--config      | specify the custom configure file for mic                |
-+------------------+----------------------------------------------------------+
-| --release        | generate release package: image, ks, pkg-list, MANIFEST  |
-+------------------+----------------------------------------------------------+
-| --logfile        | specify log file to record the output                    |
-+------------------+----------------------------------------------------------+
-| --local-pkgs-path| directory where local packages can be used when creating |
-+------------------+----------------------------------------------------------+
-| --pkgmgr         | specify backend package manager                          |
-+------------------+----------------------------------------------------------+
-
-*Tips*: the common options can be normally put before sub-sub command, but also
-can be after them, such as:
-
->>> sudo mic cr --outdir output fs test.ks
-
-or
-
->>> sudo mic cr fs test.ks --outdir output
-
-Running 'mic chroot'
---------------------
-Subcommand *chroot* is used to chroot an image file. Given an image file, you
-can use `mic chroot` to chroot inside the image, and then you can do some
-modification to the image. After you logout, the image file will keep your
-changes. It's a convenient way to hack your image file.
-
-Sample command could be like this:
-
->>> sudo mic chroot test.img
-
-Running 'mic convert'
----------------------
-Subcommand *convert* is used for converting an image to another one with
-different image type. Using `convert`, you can get your needed image type
-comfortably. So far converting livecd to liveusb and liveusb to livecd is
-supported.
-
-Sample command is given as following:
-
->>> sudo mic convert test.iso liveusb
-
-Debug/Verbose Output
---------------------
-When you encounter some errors, and you want to know more about it, please use
-debug/verbose output to get more details in the process by adding `-d/-v`. And
-it's recommended to add `-d/--debug` or `-v/--verbose` like as following:
-
->>> sudo mic -d cr fs test.ks