addon_param_sh DUD pre install script on SLE 12 SP1 and later. Not required and it doesn’t handle addon= with multiple locations specified.ask_user and selected config options properly in add_on_products.xml as generated by the addon_param.sh DUD pre install script.--threads option to stop overriding config file settings when no command line option is set.Added require_release_pkg config option. When set to true, the media tool will fail when trying to use an add-on product image that lacks a release package.
Added initial support for SLE 15 based installation kits
Added initial support for SLE 12 ppc64le based installation kits
IGNORE_MISSING_REPO_PACKAGES in the kiwi file by default. The package list should be accurate, and there is no reason to not be strict with image builds in OBS. This will help ensure that the release package is finished building and available before the ISO image can be successfully built.Remove indexing of each package from base media when not in debug mode.
Added spinners and progress bars to some of the longer lasting operations.
Added a threads configuration option. This controls how many threads shall be used for certain operations that can be multi-threaded Currently used for xz compression calls when compressing the initrd
Fail if instsys packages are not found. When specifying packages to be included in the DUD instsys location for DUDs, intirds, or installation media, if a specified package is not found, the build will error and exit.
This release changes the command line syntax in the following ways
DUD Tool * –no-uni-dud has been replaced with –uni-dud. Default has been changed to not create DUDs that work with both SLES and SLED. Use the –uni-dud option to enable that feature
Media Tool * The output image is now specified with the -o, --output option and not the last argument to the command. This allows to specify the output image path in the sdt config file.
DUD, Initrd, and Media Tools * The –updatedir option is now optional if the updatedir exists in the current working directory as ./updates
A file named addon.iso placed in the updatedir location will be automatically used as an add-on product without needing to specify using the --addon option.
Auto-generated output image name. If the output filename is not specified for the media tool, it is auto-generated based on information derived from the update files. When creating a driver kit containing release packages, the filename is based on the name of the add-on product, the required base product, the architecture and version and release:
ADDON_NAME-BASE_PROD-ARCH-VERSION-RELEASE.iso
The output path (i.e. directory) can be specified using the –output option. If the –output option does not point to an existing directory it is used to specify the full path and filename instead of the autogenerated name.
Added aarch64 support
Added --buildid option
Added initial support for SLE 15 products creation (kiwi file generation)
--archive option is not used, a gzipped cpio archive is created.linuxrc as a linuxrc binary (in addition to init)Fix issues building installation kits for SLE 12 SP2
Fix update.post2 script to remove reference to file:///add-on repo target after install.
Starting with version 0.10.0, versioning will stick to semantic versioning scheme http://semver.org/ as much as possible.
firmware: config option allows specifying firmware to load into initrd if not automatically specified by kernel module. Format is standard yaml list. For example:
firmware:
- firmware1.file
- firmware2.file
or
firmware: [firmware1.file, firmware2.file]
--no-initrd-module-updates option--name option.- from SLE version for auto generation of medium name.Fixed media list command
Added media fixiso command
Make sure kernel gets updated in elilo based efi image
Use nextmedia file with kISOs
Use “classic” style DUD’s inside of driver kit initrd
The normal updates provided with a driver kit are already contained in an add-on repository. Also adding packages via the DUD update mechanism allows to force installation of packages behind the scenes (i.e. YaST updates or other installation specific items not related to runtime). To make this work use the classic model of installing packages with the update.post script.
Cleanup --boot-param handling.
Add exact_release package list to the addon options
The exact_releases global option tells the addon module to create repopackage elements in the kiwi config that specify the full version and release in the version attribute.
This new exact_release list allows specifying only those packages that should have the exact release specified (instead of all).
exact_release option at the obspackage level.More INFO logging
File link failure messages quiter. When copying a file, the tool will first try to link and on failure fall back to standard copy. Make the fail message in the debug output less critical looking.
Make workpath files and directories user writeable before cleanup and exit. Otherwise cleanup will fail.
Work on making auto-naming (dud, kISO, ISO volume etc…) more consistent.
Prepare initrd DUD when creating kISO. This was a major bug that caused package updates to not be included in kISOs. Only affects kISO generation, bootable driver kits were not affected.
Enable support for –merge option with media tool
Fix CD/DVD eject issue with SLES12. Add script to search for and fix broken udev rule in initrd.
Make sure to place a nextmedia file in kISO initrd. SLES 11 SP3/SP4 require this in order to properly display the “Insert installation media” dialog after loading the kISO from CD/DVD.
initrd update command when no --base option used.for obspackage declarations, fall back to ‘standard’ repo if distro specific repo doesn’t exist. Avoids needing to explicitely specify the ‘standard’ repo when used.
Add –verify-ssl option to obs command For debugging purposes ssl certificate verification can be disabled when accessing OBS api.
Update handling of kernel firmware files Will pull in firmware from packages on base media if available and overwrite files from initial initrd image. Otherwise use files from initial image. This allows for using “mini isos” as base media.
Fix handling of inst-sys packages located in UPDATEDIR/inst-sys/
Abort if updates directory isn’t accessible.
list command added to media tool to list contents of media (or any repo or directory. Currently just lists package names and versions.
When creating bootable driver kits from an existing add-on repo, any packages in the update directory (--updatedir) will be added to the DUD located in the initrd image for installation. This is useful when needing to provide additional fixes to the installer where the package updates don’t belong in the add-on product per se. This currently only works when using the –addon option to include an existing add-on repo.
Ability to specify key/value pairs to be added to dud.config spec in kiwi using obs driverkit tool. (requires patched kiwi)
Ability to specify modules to add to modules.order file in dud using obs driverkit tool. (requires patched kiwi to create the module.order file)
Specify add-on “recommends” using the obs driverkit tool.
Can specify support package keyword. Defaults to support_l3 as in the past, but can be overridden using l2 or None as a support: obs package option. Will use the same flag for all binaries of the obs package.
Fix package filtering in obs driverkit tool
Make sure yast updates are added to DUD in media tool
DUD fixes:
Don’t log to file unless specified with –log option
Remove ugly tool to tool and base to tool interdependencies by moving core/shared initrd and dud functionality to base package. Tools only contain command line and tool execution parts.
Enable DUD config within kiwi output of obs driverkit tool
Several fixes for .kiwi and .spec file generation from obs tool
Fix detection of gpg key files
Fix modspec handling
Improve handling of firmware packages SLES 11 firmware is delivered in several -firmware packages (not kernel-firmware alone). We need to include them all when processing the initrd updates.
Documentation updates only
Major re-write and refactoring of code. Still considered (beta) and will move to version 1.0.0 after all features are validated.
Note: command line parsing and command line usage has changed fundamentally starting with the 0.9.x releases. Read man pages or --help output for new syntax.
Add support for SLE 12 media
Toolkit commands moved to ‘tool’ commands.
kiso and driverkit commands moved to the new media tool
pxe command replaced with initrd tool
New kmodule tool added for working with kernel modules
New initrd compare command will compare and report the differences between two initrd images (still under development).
Implement handling of multiple DUD scripts The standard DUD scripts update.pre, update.post, and update.post2 are now standard scripts that kick off execution of all scripts under the respective update.pre.d, update.post.d and update.post2.d directories. The actual scripts to be run are placed under the corresponding locations and therefore allow multiple scripts per type to be added.
DUD provides rpm packages to installer as extra add-on repository, removing the need for complex and fragile post scripts to install the packages. Only works with SLES 11 SP2 and lager and can be disabled using the –classic option.
Improved dud.config generation. –name and –id options added to create command. dud.config auto-generated if no options provided
New obs tool for automating tasks when using the Open Build Service (OBS).
driverkit command eases creation of add-on products in OBS.Add ability to create hidden boot parameters using double colon (::) between label and parameter.
Far too many to document ;)
Add ppc64 and ppc64le support.
linuxrc options When providing a file named linuxrc.options in the updates path this file will be concatenated to the linuxrc.config in the initrd.
Example: To add a command to load a specific module create a linuxrc.options file containing the following line.
Exec: insmod /modules/mlx4_en.ko
PTOption to handle addon= command line With SLE11 SP2 and later, adding ‘addon’ to the PTOption config for linuxrc avoids having to use scripts to remove the command line option from the bootloader configProduct option in linuxrc.config to SUSE Linux Enterprise Server/Desktop Create SLES/SLED universal DUDs by default
Many times driver kits can be used equally for SLES or SLED because the kernel is common. Unfortunately the DUD file structure is different for each product flavor.
SLES:
linux/suse/<ARCH>-sles<VERSION>
SLED:
linux/suse/<ARCH>-sled<VERSION>
Now the tools will create DUDs that work with both product flavors by either by duplicating the directory trees, or creating a symlink (in the case of DUD structure embedded in the initrd).
This behavior can be disabled with the option --no-uni-dud in which case the DUD will only support the specified base product.
Merge user provided DUD scripts with defaults
SUSE Driver Tools automatically generates DUD pre/post scripts. Previous behavior was to overwrite these scripts with any user provided scripts - thereby losing the functionality provided by the Tools.
Now we merge (append) the auto-generated scripts with any user provides scripts.
Replace existing modspecs in module.config
The previous implementation only appended user supplied modspecs to the end of the specified section in module.config. Now we search for an existing modspec of the given kernel module and replace it. All new modspecs are appended as before.
Fix unpacking of SP3 EFI directory with merge option
kISO and Driver Kits get proper headings in nextmedia text
New option --merge for driverkit and kiso commands will merge the driverkit or kISO result with the base SUSE Linux Enterprise installation media so that everything is contained on one media.
The --base option for driverkit, kISO, dud, initrd etc… now accepts path to ISO image. ISO image is automatically mounted for use by SUSE Driver Tools command.
Added support for grub2 uEFI media structure that comes with SUSE Linux Enterprise 11 Service Pack 3
Added unpackinitrd command that simply unpacks an initrd image to a given location.
kiso, pxe, and unpackinitrd commands.sdt man pageImplement fixiso command Use to fix broken El Torito uEFI alternate boot on existing iso images. Some ISO generation tools get this wrong.
Added --include-dud driverkit option to add DUD structure to base of driverkit media
Bootable driver kits will get the full update media path (linux/suse/<arch>-<slever>) from the settings in the base distro media.
When generating standard driver kit, the --distro and --arch-version options must be specified or the initrd from the base distro media placed in the updates path (the tool will get the proper path spec from the initrd).
Add unpackinitrd command to unpack an initrd to a specified location.
Create nextmedia file
Add --no-initrd-mod-updates switch Useful when making other kinds of update to the initrd and but wanting to keep the modules untouched.
Add alias to add-on URL in add_on_products.xml
Without the alias, the addon repo will have an autogenerated name which looks confusing to the user. We set an alias equal to the add-on product name (converting spaces to underscores).
This only applies to SLE11. SLE10 uses a different mechanism and does not suffer from this issue.
Fix boot catalog generated by genisoimage
It appears that both mkisofs and genisoimage fail to create proper boot catalog entries for UEFI and they fail differently. Updated code to handle genisoimage as well as mkisofs images.
Make call to magic.open compatible with older versions of python-magic
Fix man page builds
Add user config file (~/pldptools/config.yml)
Add handling of –boot-param option.
generic alias expansion.
Add ability to process individual GPG keys
Before we only looked for a pre-made installkey.gpg file and replaced the default one from the base media. Now the user can pass additional keys or keyrings to be added to the default installkey.gpg keyring from the base media.
As in the past, if an installkey.gpg keyring is provided as an update, it will replace the existing one. Any additional keys/keyrings will be added to this updeated installkey.gpg keyring