The following is a reference of various terms, concepts, and constructs used by the SUSE Partner Linux Driver Program and referenced in the SUSE Driver Tools documentation.
“Add-on products are system extensions. You can install a third party add-on product or a special system extension of SUSE Linux Enterprise Server (for example, a CD with support for additional languages or a CD with binary drivers). To install a new add-on, start YaST and select Software+Add-On Products. You can select various types of product media, like CD, FTP, USB mass storage devices (such as USB flash drives or disks) or a local directory. You can work also directly with ISO files. To add an add-on as ISO file media, select Local ISO Image then enter the Path to ISO Image. The Repository Name is arbitrary.”1
A Driver Kit is an add-on Product that contains kernel module updates to be installed on a given release of SUSE Linux Enterprise product. The driver kit add-on product can be installed during the initial installation of the SUSE Enterprise product by checking Include Add-On Products from Separate Media on the Installation Mode screen or installed afterwards using the YaST2 Add-on Products module. For further information refer to the “SUSE Linux Enterprise Server Deployment Guide”.
Formerly called Bootable Driver Kit
Often kernel or driver or other types of updates are required during the initial installation phase in order for installation complete. If a kernel bug causes the kernel to panic on initial boot up, installation can’t be performed. When an updated kernel containing a fix for the bug is released, there needs to be a way to re-build the SUSE installer to use that fixed kernel image. This is where installation kits come into play.
An installation kit is an add-on product image that contains a copy of the first phase of the SUSE installer in addition to the add-on repository The installer part contains isolinux and UEFI loaders as well as a kernel and initrd containing a linuxrc that initiates the SUSE Linux Enterprise installation process each of which can be updated to fix bugs or enable feature required to perform successful installation on systems requiring fixes to those parts. More or less everything in the installer can be changed and updated using an installation kit.
When booting from an installation kit, the following, initial stages of bootstrapping and installation preparation are performed:
The steps enclosed in the Installation Kit box are executed by the driver kit image. At the point of loading the installation system images, the linuxrc process will attempt to load the images from the installation repository location. When installing from optical media, linuxrc will prompt the user to insert disk #1 of the SUSE Linux Enterprise installation media. If a different installation repository URI was passed to linuxrc via the ‘install=’ boot option, then linuxrc will grab the images from that location and the installation will install as usual.
Prepare Driver Kit Repository
Before loading the installation system, linuxrc will execute a script that prepares the driver kit add-on repository for installation. The script performs the following steps:
First the script determines if the SUSE Product is to be installed from the same optical media device as the driver kit. If so, it loads the driver kit repository into the ram-disk to avoid the need for the user to swap media later in the install process.
The next step enables the driver kit for installation. This is achieved by creating an add_on_products.xml file that points to the location of the driver kit repository. During the installation, YaST2 will query this file and automatically include the driver kit repository as part of the installation.
If the update packages provided by the driver kit are not required for bootstrapping and installing SUSE Linux Enterprise on the target system, the installation can be booted from the standard SUSE media and the driver kit installed as a post-install step like a standard add-on product.
SUSE Driver Tools allows one to merge the driver kit with the base SUSE Linux Enterprise installation media. This allows the delivery of SUSE Linux Enterprise plus driver kit on a single media, instead of muliple media as with the standard or installation kits.
If the result is meant to be burned to optical media the total size of the SUSE product plus driver kit add-on needs to be taken into consideration. The merge process does not modify the original SUSE Linux product repository in any way. It simple creates a new ISO image containing both the SUSE product and driver-kit repositories.
Just as with the installation kit, the merged media will automatically select the driver-kit add-on to be installed in tandem with the base SUSE product.
“The Driver Update is providing a possibility to install SuSE/UnitedLinux on devices that were not supported at the time the distribution was created and be able to boot the installed system afterwards without having to manually install the new device drivers after the installation. Even though linuxrc (the first stage of the installation process) has the ability to load driver modules from a separate modules floppy, these modules are not used for the installed system afterwards, because the YaST Installer installs a kernel RPM during the package installation. This driver update feature will use a provided kernel driver module during the installation process and will also place it into the installed system in order to be able to boot up the installed system later.”2
For more information on Update Media, please refer to The Update-Media-HOWTO.
The kISO is similar to the installation kit in that it integrates updated kernel and/or kernel module packages into a bootable ISO for use with bootstrapping a system for installation of a SUSE Linux Enterprise Product. The primary difference is that a kISO does not provide a proper add-on product repository for installation of the packages it provides. All packages are integrated into the initrd of the boot system along with a simple bash script that installs the packages after standard product installation via YaST2 has completed and just before first boot.
###kISO Limitations The kISO standard predates the installation kit and has several limitations that the installation kit addresses. Because of these limitations, installation kits are recommended over kISOs.
Packages Are Embedded in initrd Image
This makes it difficult for a user to inspect the packages provided by the kISO before installation, host them a separate repository, or re-install them at a later time. The user would need to unpack the initrd and extract the rpm packages.
The installation kit provides packages to be installed in a standard YaST2 repository that can be easily read from the ISO image or network repository and easily integrated into installation servers.
Packages Are Not Installed Using the Standard Installer
The kISO installs it’s packages using a simple script that is called by the YaST2 installer just before reboot. This script installs each package using the rpm command. There are no package dependency checks at the repository level or feedback to the end user via the installer interface as is with the YaST/libzypp package management system. All package dependencies are hard-coded in the kISO package installer script, and failures are silent. This makes kISOs prone to unseen errors which are difficult to debug, and can render the system un-bootable after installation.
The installation kit resolves this by providing the package in a standard add-on repository which is registered during system installation and package installation is handled together with the standard SUSE product packages. This results in a much more robust and reliable installation process where package dependencies and conflicts are managed by the SUSE Linux Enterprise package management system (libzypp).