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).