SUSE Driver Tools v0.15.0

Changes

  • Remove some unneeded hardcoded boot options in the bootable media.
    • removed unused arch option to load-dk.sh call
    • remove eatkeys.sh script
  • Removed some SLE 10 support code (add_on_product config generation)

Fixes

  • Fixed initrd generation issues for SLE 15 SP1 based media.
  • Fixed add-on media detection in load-dk.sh script for SLE 15 based media.

SUSE Driver Tools v0.14.4

Fixes

  • Fix file permissions not being properly set in /boot/x86_64/loader
  • Fix logfile generation when using when using the commandline option
  • Allow unpacking of initrd in non-empty directory if location is in our private workpath.
  • Minor fixes to SLE 15 media generation
  • Fix URL in add_on_products.xml
  • Allow merge option to be set in the config file

SUSE Driver Tools v0.14.3

Fixes

  • Fix iso generation for ppc64le
  • Stop using 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.
  • Started removing some SLE 10 support.
  • obs tool: Fixed up release package generation for SLE 15 based driver kits.
  • Set tagmedia digest to sha256 for SLE 15 based media
  • Added –pad 150 and –check options to tagmedia to match what KIWI does with standard SUSE ISO images.
  • Avoid copying installer images with aarch64 and ppc64le installation kits.

SUSE Driver Tools v0.14.2

Fixes

  • Set ask_user and selected config options properly in add_on_products.xml as generated by the addon_param.sh DUD pre install script.

SUSE Driver Tools v0.14.1

Fixes

  • Remove command line default for --threads option to stop overriding config file settings when no command line option is set.
  • Fix bug in adding boot parameter options with UEFI based boot loaders.

SUSE Driver Tools v0.14.0

Features

Media Tool

  • 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

Obs Tool

  • Do not set 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.

Logging

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

File detection

  • Handle linuxrc rpm packages intelligently . If a linuxrc package is found in the updates for initrd or installation media, the linuxrc executable will be extracted and update the init program in the initrd.

General

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

Fixes

  • Make directory creation and copying of file trees more robust.

SUSE Driver Tools v0.13.0

NOTE

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

Features

Media Tool

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

DUD tool

  • Specifying a destination path that is not an existing directory will create an archive file of the DUD as the destination. If the --archive option is not used, a gzipped cpio archive is created.

Configuration Files

  • Use XDG paths for system-wide and user local config locations
  • Collect system-wide configs
  • Collect user specific config
  • Collect config in –updatedir or ./updates
  • Collect config in current directory
  • Switch to using sdt.conf as the standard config filename

Logging

  • Implemented auto log filename generation
    • An auto-generated logfile name will be used if the logfile is configured as AUTO.
    • The generated logfilename will use by default timestamp based format as follows: “sdt-%Y-%m-%dT%H%M%S.log”
    • Media kiso and media driverkit commands will move the auta-ogenerated log file to MEDIANAME.log, with MEDIANAME equal to the name of the generated ISO file minus the .iso extension.
  • Added start and finish timestamps to log

File detection

  • Detect file named linuxrc as a linuxrc binary (in addition to init)

Fixes

  • Fixed firmware handling in the initrd tool

Documentation Updates

  • Renamed Bootable Driver Kits to Installation Kits

SUSE Driver Tools v0.12.0

Features

Media Tool

  • Allow passing path to an ISO image to –addon option

DUD Tool

  • Added –archive option to allow embedding the DUD in a cpio or tar archive

General Fixes and Enhancements

OBS tool

  • Remove extra space from add-on label if addon type is empty
  • Removed hard coded distro strings.The distro part of the OBS package name or specified distro string is now automatically parsed. This removes the need to keep adding new releases to the tool.

Media Tool

  • Fixes for creating local addon product
  • Fixes for creating non-bootable media

Media & Initrd Tools

  • Allow adding custom linuxrc executable and linuxrc setup scripts to the initrd.

SUSE Driver Tools v0.11.0

Fixes

Fix issues building installation kits for SLE 12 SP2

  • Grub2 menu parsing fix
  • Set InstsysComplain to 0 in linuxrc.config

General Fixes and Enhancements

OBS tool

  • Create CPE strings according to spec (use only allowed characters)

DUD / Initrd

  • Unpack instsys tarballs. This was not working as expected
  • Remove /usr/src from instsys if put there by any rpms. This directory interferes with linuxrc detection of the state of the system. It should never be required for instsys

Media Tool

  • Enhanced installation media detection with load-dk script to allow for install from USB stick.

SUSE Driver Tools v0.10.2

Fixes

Fix update.post2 script to remove reference to file:///add-on repo target after install.

SUSE Driver Tools v0.10.1

  • Include lz4_decompress.ko in SLE12 SP2 installer initrd

SUSE Driver Tools v0.10.0

Starting with version 0.10.0, versioning will stick to semantic versioning scheme http://semver.org/ as much as possible.

Features

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]

General Fixes and Enhancements

Installer generation (initrd & media tools)

  • Better handling of firmware for installer initrd
  • Fix boot parameter handling
  • Fixed --no-initrd-module-updates option

Media Tool

  • Fix --name option.
  • Simplify kISO command line spec
  • Remove - from SLE version for auto generation of medium name.
  • Fixed pattern generation
  • Fixed regression in driver kits when using uEFI (load-dk.sh not being called)

Kmodule tool

  • Fixed extracting of module signature.

OBS tool

  • Fix product version requires for SLE 12 release packages (obs tool)

SUSE Driver Tools v0.9.9

General Fixes & Enhancements

  • Do not print log header when –help option is used.

Media Tool

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

Features

Media Tool

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

OBS Tool

  • The obs driverkit tool allows specifying which packages should have the exact release by using the exact_release option at the obspackage level.

SUSE Driver Tools v0.9.8

General Fixes & Enhancements

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

Media Tool

  • 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 Tool

  • Fix initrd update command when no --base option used.
  • Do not process modules when no kernel or kmp updates provided.

SUSE Driver Tools v0.9.7

General Fixes & Enhancements

  • Modspecs can be provided in config file config file syntax: modspecs: [LIST_OF_MODSPECS]

Media Tool

  • Import GPG keys from addon product when creating bootable driver kits. Any gpg pubkeys located in the base of the add-on media will be imported into the installer keyring so that the user doesn’t need to manually accept the key during installation.

OBS Tool

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

SUSE Driver Tools v0.9.6

General Fixes & Enhancements

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

Features

General

  • initrd generation now creates unique initrd id in linuxrc.config

Media Tool

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

OBS Tool

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

SUSE Driver Tools v0.9.5

General Fixes & Enhancements

  • Fix package filtering in obs driverkit tool

  • Make sure yast updates are added to DUD in media tool

  • DUD fixes:

    • Set distro option properly
    • Ensure dud.config gets created
  • Don’t log to file unless specified with –log option

Refactoring

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.

SUSE Driver Tools v0.9.4

General Fixes & Enhancements

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

SUSE Driver Tools v0.9.3

Documentation updates only

SUSE Driver Tools v0.9.2

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.

Features

  • Add support for SLE 12 media

    • Handling of SLE12 installer differences
    • Handling of SLE12 style add-on product generation
  • Toolkit commands moved to ‘tool’ commands.

    • Allows for easier development of new tools
    • Initial tools include: dud, initrd, media, kmodule and obs
  • 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

    • Add/remove/extract module signatures
    • Compare two modules for binary equality
  • 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.

General Fixes & Enhancements

Far too many to document ;)

  • Refactoring of code for better maintainability uncovered and fixed many minor bugs in the process.
  • Better consistency when generating updated initrd images
  • Better handling of kernel firmware files

Regressions / Known issues

  • Removed –steps options. Might be re-implemented later
  • Removed pxe command (see initrd tool)
  • Support for SLE 10. Should work, but not throughly tested.

To Do

Add ppc64 and ppc64le support.

SUSE Driver Tools v0.8.0 (internal release)

Features

  • 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

General Fixes & Enhancements

  • Use linuxrc 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 config
  • Automatically change the Product option in linuxrc.config to SUSE Linux Enterprise Server/Desktop since kits usually work on both.
  • Add the writing of DUD scripts to debug log level
  • Only update firmware files if updates are provided

SUSE Driver Tools v0.7.3

General Fixes & Enhancements

  • [DUD] Unpack updates/inst-sys packages also when using –addon
  • [kISO/Bootable Driver Kit] Fix handling of kernel module weak-updates. (Create hardlink or copy the file instead of creating symlink to avoid broken symlink in final destination.)
  • Improve handling of gpg keys

SUSE Driver Tools v0.7.2

General Fixes & Enhancements

  • Fix detection of update.post2 file
  • Cleanup DUD generation
  • Implement link_or_copy. (If copying file on the same FS, we prefer to hard link for speed.)
  • Fix isosort file creation

SUSE Driver Tools v0.7.1

General Fixes & Enhancements

  • 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

Documentation

  • Added further man page references to sdt man page.

SUSE Driver Tools v0.7.0

Features

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

General Fixes & Enhancements

  • Better file/directory handling
    • Remove read only files.
    • cpio unpacking use –no-absolute-filesnames option
    • Only remove files or directories that exist in work_path or tempdir paths.

Documentation

  • Added man pages for kiso, pxe, and unpackinitrd commands.
  • Add SUDO section to sdt man page
  • Document new features
  • Update description of –base option

SUSE Driver Tools v0.6.0

RIP PLDP Tools… Long Live SUSE Driver Tools!

  • Program name change PLDP Tools => SUSE Driver Tools
  • Package name change pldptools => SUSEDriverTools
  • Command name change pldp => sdt

Features

  • Implement 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.

General Fixes & Enhancements

  • Use existing work directory when not performing unpack step
  • Various enhancements to the code handling DUDs

PLDP Tools v0.5.0

Features

  • Create nextmedia file

    • Default for better “Insert CD1…” popup message.
    • Add ability for user provided 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.

DriverKit

  • SOURCE_MEDIUM=0 when no src.rpms packages are detected

PLDP Tools v0.4.7

DriverKit

  • Driver kit generation fixes
    • Grab kernel packages as well as other updates
    • Cleanup RELNOTESURL and UPDATEURLS defaults

PLDP Tools v0.4.6

Packaging

  • Add dosfstools as a package requirement
  • Add other dependencies

Fixes & General Enhancements

  • Quick fix for change in location of mkfs.vfat With opensuse 12.2 the location of mkfs.vfat changed from /sbin to /usr/sbin. We check for this dynamically now.

PLDP Tools v0.4.5

  • Documentation updates

PLDP Tools v0.4.4

  • Minor documation updates

PLDP Tools v0.4.3

Documentation

  • Updates
    • Integrate flow diagrams.
    • Add 06-11-2019 placeholder that gets updated to today’s date on rebuild.
    • Update Makefiles.
  • Enhance HTML template and css
    • Add some SUSE color
    • Make TOC and body sections more fluid
  • Update HTML template for better layout with more space for table of contents and body.

Fixes & General Enhancements

  • outputdir defaults to ‘.’

Packaging

  • Add requires kiwi-instsource-plugins-openSUSE-11-1 This package is required for generating add-on products for SLE11

PLDP Tools v0.4.2

Fixes & General Enhancements

  • 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

Packaging

  • Update package dependencies
  • fix specfile template
  • Fix license text

PLDP Tools v0.4.0

ISO Generation

  • Integrate fixing of Eltorito boot catalog entries. Removes requirement for special genisoimage build
  • Cleanup ISO generation.
    • Set System ID to ‘LINUX’
    • Create Volume ID based on App ID
    • Set Volume Set ID to same as Application ID
    • Set Preparer ID to ‘PLDP Tools $VERSION’
    • Use tagmedia to add md5sum to iso

Logging

  • Cleanup logging
  • Output PLDP Tool command line to top of logfile
  • Add version and loglevel info to log output
  • Add logfile and config file commandline arguments

YaST Modules

  • Use .ybc instead of ycp YaST module files

Features

  • 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

DriverKit

  • Plain driver kit generation now supports multi arch repos. This is NOT supported with bootable driver kits.

Driver Update Disk

  • Add options to control DUD paths
  • Remove unused DUD directories
  • Add inst-sys support for DUDs
  • Handle user supplied dud.config file
  • Do not grab install kernel from base when creating DUD

Documentation

  • Add initial documentation

Packaging

  • Setup Makefile recipes for generating rpm package source
  • Add GPL License file

Fixes & General Enhancements

  • Only select update packages that match the base arch
  • Fix up some write permission issues Want to make sure that bulk of PLDP work can be done as normal user.
    • Check existing files and make them writable before trying to write to them.
    • When copying add-on to iso.staging, make sure iso.staging is writable afterwards.
    • Make boot loader file system writable after copying from base.
  • Fix handling of code10 content version and release

PLDP Tools v0.3.0

Features

  • Add –version