Installation images are used to speed installation up. Each separate image contains a compact part of a filesystem. Several images can be combined together to finally create several different complete systems - the only unique image for each such system is a separate image containing RPM (plus other metadata) database for a particular system.
Example of images on media:
Available Images: * Base_System * Xorg * Additional_Tools * Metadata_image_*, one for each imageset
Example of imagesets (combinations of images):
Base System: + Base_System + Metadata_image_1 (Base_System.meta) Advanced System: + Base_System + Xorg + Metadata_image_2 (Base_System.meta + Xorg.meta) Superadvanced System + Base_System + Xorg + Additional_Tools + Metadata_image_3 (Base_System.meta + Xorg.meta + Additional_Tools.meta)
*.lzma (((files)tar)lzma) - TAR* archive additionally compressed with LZMA
*.xz - (((files)tar)lzma) - TAR* archive additionally compressed with newer LZMA
*.tar.bzip2, *.tar.gz (((files)tar)bzip2/gzip) - TAR*/Bzip2; resp. TAR*/Gzip archive
* Each TAR archive is created with: --numeric-owner --checkpoint=400 --record-size=10240
If we want to use installation images, we have to describe them first. See the example of /images/images.xml file stored on the first installation media:
<?xml version="1.0"?>
<!DOCTYPE images>
<image_installation xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<image_sets config:type="list" >
<image_set>
<!--
Comma-separated list of patterns included in
a particular imageset
-->
<patterns>kde,x11,enhanced_base</patterns>
<archs>i386,ixxx,iyyy</archs>
<!--
Matches the image->file of image that contains
a particular imageset metadata
-->
<pkg_image>kde-meta.tar.lzma</pkg_image>
<!--
Each imageset can contain one or more images that
can be combined among all imagesets...
-->
<images config:type="list">
<image>
<name>KDE [base]</name>
<type>tar</type>
<file>common-base-root.tar.xz</file>
</image>
<image>
<name>KDE [xorg]</name>
<type>tar</type>
<file>common-xorg-root.tar.bzip2</file>
</image>
<!-- More 'image' items can be added here -->
<image>
<name>KDE [meta]</name>
<type>tar</type>
<file>kde-meta.tar.lzma</file>
</image>
</images>
</image_set>
<!-- More 'image_set' items are usually added here -->
</image_sets>
</image_installation>
This XML file describes sets of images from which an installation chooses the best-matching one according to <patterns>...</patterns> item defined in each imageset.
Each imageset contains one or more images. To provide a useful feedback when deploying the images, they have to be described in /images/details-${ARCH}.xml, respectively in file /images/details.xml stored on the first installation media:
<?xml version="1.0"?>
<!DOCTYPE details>
<image_installation_details
xmlns="http://www.suse.com/1.0/yast2ns"
xmlns:config="http://www.suse.com/1.0/configns">
<details config:type="list">
<image>
<file>common-base-root.tar.lzma</file>
<!-- optional: number of files in archive -->
<files>28004</files>
<!-- optional: list of RPMs in archive -->
<rpms config:type="list">
<rpm>ConsoleKit</rpm>
<rpm>DirectFB</rpm>
<rpm>DirectFB</rpm>
<rpm>PolicyKit</rpm>
<rpm>...</rpm>
</rpms>
<size>509624320</size>
</image>
<image>
<file>common-xorg-root.tar.lzma</file>
<size>220549120</size>
</image>
<image>
<file>common-qt.tar.lzma</file>
<size>10240</size>
</image>
<!-- one description for one image -->
</details>
</image_installation_details>
${ARCH} is one of: i386, sparc, mips, ppc, alpha, s390, ia64, and x86_64.
Mandatary items for each image (file name) are file and size (in bytes).