KIWI::IMAGES.SH(1) KIWI Manualpage KIWI::IMAGES.SH(1)NAMEKIWI::images.sh - Configuration File for KIWI image description
DESCRIPTION
The KIWI image description allows to have an optional images.sh script
in place. This script is called at the beginning of the KIWI create
step. It is allowed to remove software there to shrink down the size of
the image. Most often images.sh is used for boot images because they
needs to be small. As images.sh is called in the create step you should
be aware to design the script in a way that it can be called multiple
times without shooting itself into its knee. As KIWI allows to create
different image types from one previously prepared tree one needs to
take into account that images.sh can be called more than one time. If
you exit images.sh with an exit code != 0 KIWI will exit with an error
too.
Example 1. Template for images.sh
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Call configuration code/functions
#--------------------------------------
...
#======================================
# Exit safely
#--------------------------------------
exit
COMMON FUNCTIONS
The .kconfig file allows to make use of a common set of functions.
Functions specific to SUSE Linux specific begin with the name suse.
Functions applicable to all linux systems starts with the name base.
The following list describes the functions available inside the
images.sh script.
[baseCleanMount]
Umount the system filesystems /proc, /dev/pts, and /sys.
[baseGetProfilesUsed]
Return the name(s) of profiles used to build this image.
[baseGetPackagesForDeletion]
Return the list of packages setup in the packages type="delete"
section of the config.xml used to build this image.
[baseSetupOEMPartition]
Writes the file /config.oempartition depending on the following
config.xml parameters: oem-reboot, oem-swapsize, oem-systemsize,
oem-swap,oem-boot-title,oem-recovery, oem-kiwi-initrd. kiwi takes
the information from config.xml and creates the config.oempartition
file as part of the automatically created boot image (initrd). The
information must be available as part of the boot image because it
controls the OEM repartition workflow on first boot of an OEM
image. Detailed information about the meaning of each option can be
found in the OEM chapter of the KIWI cookbook.
[suseGFXBoot {theme} {loadertype}]
This function requires the gfxboot and at least one
bootsplash-theme-* package to be installed in order to work
correctly. The function creates from this package data a graphics
boot screen for the isolinux and grub boot loaders. Additionally it
creates the bootsplash files for the resolutions 800x600, 1024x768,
and 1280x1024
[suseStripKernel]
This function removes all kernel drivers which are not listed in
the *drivers sections of the config.xml file.
[suseStripInitrd]
This function removes a whole bunch of tools binaries and libraries
which are not required in order to boot a suse system with KIWI.
[Rm {list of files}]
Helper function to delete files and announce it to log.
[Rpm {rpm commandline}]
Helper function to the rpm function and announce it to log.
[Echo {echo commandline}]
Helper function to print a message to the controlling terminal.
[Debug {message}]
Helper function to print a message if the variable DEBUG is set to
1.
PROFILE ENVIRONMENT VARIABLES
The .profile environment file contains a specific set of variables
which are listed below. Some of the functions above makes use of the
variables.
[$kiwi_iname]
The name of the image as listed in config.xml
[$kiwi_iversion]
The image version string major.minor.release
[$kiwi_keytable]
The contents of the keytable setup as done in config.xml
[$kiwi_language]
The contents of the locale setup as done in config.xml
[$kiwi_timezone]
The contents of the timezone setup as done in config.xml
[$kiwi_delete]
A list of all packages which are part of the packages section with
type="delete" in config.xml
[$kiwi_profiles]
A list of profiles used to build this image
[$kiwi_drivers]
A comma separated list of the driver entries as listed in the
drivers section of the config.xml.
[$kiwi_size]
The predefined size value for this image. This is not the computed
size but only the optional size value of the preferences section in
config.xml
[$kiwi_compressed]
The value of the compressed attribute set in the type element in
config.xml
[$kiwi_type]
The basic image type. Can be a simply filesystem image type of
ext2, ext3, reiserfs, squashfs, and cpio or one of the following
complex image types: iso split usb vmx oem xen pxe
AUTHOR
Marcus Schäfer <ms (AT) suse.de>
Developer
KIWI 5.05 Created: 10/10/2013 KIWI::IMAGES.SH(1)