Release notes
Upcoming coreos-installer 0.26.0 (unreleased)
Major changes:
Minor changes:
Internal changes:
- install: Simplify firstboot-args handling in config file expansion
Packaging changes:
coreos-installer 0.25.0 (2025-09-29)
Major changes:
- Add Fedora 44 signing key; drop Fedora 41 signing key
Minor changes:
- Restore formatting of progress reporting to pre 0.24.0 behavior.
Internal changes:
- Add initial TMT tests and a new workflow to execute tests on PRs
- Use release profile for smaller binaries in CI testing
- Support cryptsetup-2.8.0’s UUIDs naming of dm-integrity devices
- rootmap: Inject
root=/dev/disk/by-uuid/dm-mpath-$UUIDwhen on multipath - rootmap: Inject
mpath.wwid=$WWIDwhen on multipath - rootmap: Bypass cache when querying filesystem UUID for
root karg
Packaging changes:
- Updated core dependencies, including a major upgrade to
clapfrom v3 to v4 and new versions ofnix,pnet, andsha2.
coreos-installer 0.24.0 (2025-04-14)
Major changes:
- Add Fedora 43 signing key; drop Fedora 40 signing key
Internal changes:
- s390x: Use options and logic compatible with both C-based
genprotimgand Rust-basedpvimg
Packaging changes:
- Update container to Fedora 42
- Require
byte-unit≥ 5.1.6 - Require Rust ≥ 1.84.1
coreos-installer 0.23.0 (2024-11-12)
Major changes:
- Add Fedora 42 signing key; drop Fedora 39 signing key
Internal changes:
- osmet: Use blkid to get partition information if udev is unavailable
Packaging changes:
- Drop Packit support for c9s packaging
coreos-installer 0.22.1 (2024-07-24)
Packaging changes:
- add downstream_package_name for each package in packit.yaml
coreos-installer 0.22.0 (2024-07-23)
Internal changes:
- rootmap: Fix support for LUKS on multipath
Packaging changes:
- Require Rust ≥ 1.75.0
- Update packit’s downstream targets to be
fedora-rawhide - Add Packit support for c9s packaging
- Update container to Fedora 40
coreos-installer 0.21.0 (2024-02-22)
Major changes:
- Add Fedora 41 signing key; drop Fedora 38 signing key
- Switch alternative grub console config location to grub2/console.cfg
Internal changes:
- zipl: Directly pass kernel, initrd and kargs instead of BLS entry
Packaging changes:
- Update container to Fedora 39
coreos-installer 0.20.0 (2023-12-19)
Major changes:
- Support alternative grub2/30_console.cfg location for grub console configuration
Packaging changes:
- Fix Packit changelog entry generation
coreos-installer 0.19.0 (2023-12-11)
Major changes:
- install: Add z/VM Secure IPL support
Internal changes:
- rootmap/bind-boot: Support root devices using composefs
Packaging changes:
- Add Packit support for Fedora packaging
coreos-installer 0.18.0 (2023-08-24)
Major changes:
- iso: Support kargs modification on s390x by using
kargs.jsonif present - Add Fedora 40 signing key; drop Fedora 37 signing key
Minor changes:
- install: Verify that Ignition config is valid JSON
- install: Add long help for several options
- download/install: Clarify help text for
--insecure
Internal changes:
- verify-unique-fs-label: Run
blkidwith a clean cache to avoid stale devices
Packaging changes:
- Require
clap≥ 4.1 - Update container to Fedora 38
coreos-installer 0.17.0 (2023-03-10)
Major changes:
- Add Fedora 39 signing key; drop Fedora 36 signing key
- iso: Support Ignition embedding on s390x by using
igninfo.jsonif present
Minor changes:
- customize: Support Ignition config spec 3.4.0
- customize: Avoid disabling ISO autologin when only changing live kargs
- customize: Warn when customized PXE image requires Ignition kargs
- install: Avoid network fetch timeout when low-level formatting ECKD DASD
Internal changes:
- verify-unique-fs-label: Use
-pwhen callingblkidto avoid stale cache
Packaging changes:
- Require Rust ≥ 1.66.0
- Require
base64≥ 0.21.0 - Require
ignition-config≥ 0.3.0 - Require
mbrman≥ 0.5.0 (on s390x) - Require
nmstate≥ 2.2.3 - Update container to Fedora 37
coreos-installer 0.16.1 (2022-09-19)
Packaging changes:
- Fix directory layout of vendor archive
coreos-installer 0.16.0 (2022-09-14)
Major changes:
- install: Add
--consolefor configuring kernel and bootloader console - customize: Add
--dest-consolefor configuring kernel and bootloader console - customize: Support configuring network with Nmstate via
--network-nmstate - Support reading initrd images compressed with zstd
- Add Fedora 38 signing key; drop Fedora 35 signing key
Minor changes:
- install: Fail if
--save-partindexspecified on MBR disk, to avoid data loss - Detect truncated xz archives
- iso: Fix corrupt
extract minimal-isooutput when writing to stdout - Fix unlikely decompression error reading initrd
- iso: Detect incomplete ISO files
- Warn if console kargs could have used
--console/--dest-consoleinstead - Add release notes to documentation
Internal changes:
- rootmap: Support devices with LUKS integrity protection enabled
- zipl: Deprecate
--kargsin favor of new--append-karg, which supports multiple instances - zipl: Support Secure Execution systems without LUKS for coreos-assembler
- zipl: Add
--append-filefor adding files to an SE image - zipl: Remove obsolete
--rootfs - Only open BLS configs in write mode when modifying
Packaging changes:
- Require Rust ≥ 1.58.0
- Install example installer config file in
/usr/share/coreos-installer - Add dependencies on
nmstate,textwrap, andzstdcrates - Add dependency on
libzstdshared library - Support
serde_yaml0.9 - Remove non-Linux dependencies from vendor archive
coreos-installer 0.15.0 (2022-06-17)
Major changes:
- Add support for Secure Execution on s390x
- install: Perform platform-specific console configuration when
--platformis specified and the OS supports it
Minor changes:
- Makefile: Don’t build during
make install; install rdcore only if it was built
Internal changes:
- Add
ziplcommand to reconfigure bootloader on s390x
Packaging changes:
- Update container to Fedora 36
- Require
nix≥ 0.24.0 - Remove all static libraries from vendor archive
coreos-installer 0.14.0 (2022-04-27)
Major changes:
- Add aarch64 support to container image
- Add generated manpages
Minor changes:
- Silence error from reporting commands like
iso ignition showandpxe ignition unwrapif output pipe is closed - docs: Document
dest-deviceconfig file field - docs: Document
iso/pxe customizecommands - docs: Drop documentation of pre/post installation hooks in favor of
customizecommands
Internal changes:
- bind-boot: Fix EFI vendor directory detection
- verify-unique-fs-label: Use
blkidinstead oflsblkto make filesystem label querying more reliable - Delete legacy aliases for
osmetandminimal-isopack commands used by coreos-assembler
Packaging changes:
- Require Rust ≥ 1.56.0
- Migrate from
structopttoclap3 - Drop
openat-extdependency - Remove Windows binaries from vendor archive
coreos-installer 0.13.1 (2022-02-13)
Major changes:
- Add Fedora 37 signing key; drop Fedora 34 signing key
Minor changes:
- install: Drop support for
COREOS_INSTALLER_NO_MOUNT_NAMESPACE - install: Eliminate partition table reread delay on busy block devices
Internal changes:
- Fix packing minimal ISO with empty files
- Move build-time packing commands to new
packsubcommand - Move developer-related commands to new
devsubcommand - Add
dev show initrdanddev extract initrdsubcommands - verify-unique-fs-label: Add
--rereadptto reread partition tables first
Packaging changes:
- Disable LTO
- Disable debug symbols in container
- Require Rust ≥ 1.51.0
coreos-installer 0.12.0 (2021-12-17)
Major changes:
- Add high-level
iso customizeandpxe customizesubcommands for flexibly customizing a live image - install: Add
--config-fileto specify install options via a YAML config file - systemd: Automatically install if config files exist in
/etc/coreos/installer.d - Add
iso networkandpxe networksubcommands to embed NetworkManager configs in an ISO or wrap them in an initrd
Minor changes:
- Add
iso resetsubcommand to reset an ISO image to pristine state - Differentiate
-hand--help.--helpwill produce longer-form documentation, similar to a man page. Add long help toinstallandiso/pxe customize. - pxe: Have
ignition unwrapread from stdin if no filename specified - pxe: Support
ignition unwrapfrom concatenated initrds - systemd: Print deprecation warning on
coreos.inst=yes - systemd: Print deprecation warning if
coreos.inst.install_devvalue omits/dev - docs: Autogenerate subcommand pages from help text
- docs: Remove instructions for replacing
coreos-installer.service, in favor ofinstaller.dconfig files
Internal changes:
- Fix packing minimal ISO with hard-linked files
- bind-boot: Ignore ESPs not colocated with the boot filesystem
- rootmap: Properly handle linear RAID devices
Packaging changes:
- Add
base64,ignition-config,serde_with, andserde_yamldependencies - Enable
structoptwrap_helpfeature
coreos-installer 0.11.0 (2021-11-18)
Major changes:
- Drop Fedora 33 signing key
- iso: Add
extract pxesubcommand to extract PXE artifacts from ISO - iso: Add
extract minimal-isosubcommand to extract netboot ISO image from ISO
Minor changes:
- download: Ignore
--decompressfor artifacts that are meant to be used compressed - download: Report the selected artifacts before starting download
- download/install: Avoid printing GPG verification result when we’re ignoring it
- install: Report automatically selected OS, architecture, platform when downloading install image
- install: Report if multiple filesystems are labeled
boot - iso: Find Ignition embed area by directly parsing ISO filesystem
- iso: Find kargs embed areas by directly reading
kargs.jsonfrom ISO, if available - Add
-ashort option for--architecture - Enable optimization for xz code in dev builds to speed up testing
- Fix build on s390x
- docs: Avoid using privileged container for
downloadsubcommand
Internal changes:
- Add support for packing minimal ISO
- rdcore: Add
bind-bootsubcommand to bind root and boot filesystems on first boot - rdcore: Add
verify-unique-fs-labelsubcommand to check if multiple filesystems share a label - kargs: Add
--currentto do a dry run on the booted kargs - osmet: Drop support for RHCOS unencrypted LUKS container
Packaging changes:
- Include debug symbols in release builds
- Add
bytes,structopt, andthiserrordependencies - Drop
clapdependency - Require
nix≥ 0.22 - dracut: Install
zipl_helper.device-mapperon s390x - Update container to Fedora 35
- Use Fedora build of liblzma in container
coreos-installer 0.10.1 (2021-10-11)
Security fixes:
- Fix GPG signature check when decompressing gzipped images (GHSA-3r3g-g73x-g593, CVE-2021-20319)
Major changes:
- Add Fedora 36 signing key
coreos-installer 0.10.0 (2021-08-05)
Major changes:
- install: Support IBM Z virtio DASD target devices
- install, download: Support retrying fetches with new
--fetch-retriesoption
Minor changes:
- install: Restrict access permissions on
/boot/ignition(GHSA-862g-9h5m-m3qv, CVE-2021-3917) - install: Retry reading partition table on device mapper target devices
- systemd: Persist
coreos.force_persist_ipkernel argument when installing withcoreos.inst.* - List subcommands of a command even without
-h - Mount filesystems in a separate mount namespace
- Refactor bootloader installation on s390x
- Enable optimization for gzip code in dev builds to speed up testing
- docs: Document
coreos-installer iso kargscommands
Internal changes:
- kargs: Run
ziplif necessary on s390x - kargs: Don’t fail
--create-if-changedif the file already exists
Packaging changes:
- Require Rust ≥ 1.49.0
- Support OpenSSL 3.0
coreos-installer 0.9.1 (2021-05-14)
Major changes:
- Add Fedora 35 signing key; drop Fedora 32 signing key
Minor changes:
- install: Fix block device path in error message when disk is busy
- install: Ignore corrupt GPT on target disk unless saving partitions
Internal changes:
- rootmap: Ignore multipath devices
coreos-installer 0.9.0 (2021-04-08)
Major changes:
- iso: Support writing output file to stdout with
-o -
Minor changes:
- blockdev: Fix RHEL
lsblkordering bug by using--nodepsoption - blockdev: Strengthen device mapper path detection
Internal changes:
- osmet: Drop support for
--real-rootdevoption - Add
--override-optionstordcore kargsto make it easier to test kernel argument changes - Optionally create a file if kernel arguments are modified
- Add declarative semantics for kernel argument modification
Packaging changes:
- Switch from
error-chaintoanyhowlibrary
coreos-installer 0.8.0 (2021-01-12)
Major changes:
- Add
iso kargssubcommand for modifying kernel arguments in live ISO images - Support IBM Z FBA DASD target devices
Minor changes:
- Fix race condition causing
fdasdfailure when formatting ECKD DASD - Fix sector size selection on unformatted ECKD DASD
Internal changes:
- rdcore: Add
kargssubcommand for modifying BLS configurations
Packaging changes:
- Add
lazy_staticdependency - Add
mbrmanandranddependencies on s390x - Require
regex≥ 1.4
coreos-installer 0.7.2 (2020-10-22)
Major changes:
- Add Fedora 33 and 34 signing keys; drop Fedora 30 signing key
Minor changes:
- systemd: Start coreos-installer service after systemd-resolved
Packaging changes:
- Update container to Fedora 33
coreos-installer 0.7.0 (2020-09-21)
Minor changes:
- iso: Use filesystem copy-on-write mechanism for
-ooutput file if available - install: Remember to update MBR from install image when restoring saved partitions
- install: Update size of protective MBR partition when restoring saved partitions
- install: Clear MBR boot code on install failure
- install: Revert insufficient s390x segfault avoidance change
- docs: Restructure for web publishing
- docs: Add initial command-line reference
Internal changes:
- rootmap: Configure LUKS root to wait on network if needed
Packaging changes:
- Require
openat-ext≥ 0.1.4
coreos-installer 0.6.0 (2020-08-26)
Major changes:
- Add
pxe ignitionsubcommands to generate or show an Ignition config wrapped in an appendable initrd - iso: Move
isosubcommands toiso ignitionand deprecate the former - iso: Rename
iso ignition embed -c/--configto-i/--ignition-file
Minor changes:
- install: Fix kernel ignoring saved partitions after install failure
- install: Fix loss of saved partitions if original partition table is invalid
- install: Retain saved partitions in partition table at all times during install
- install: Clear partition table on failure by writing empty GPT rather than zeroes, except on DASD
- install: Reread kernel partition table after restoring partitions on failure
- install: Make
--preserve-on-errorsaved partition stash file the same size as the target disk - install: Properly activate first-boot kernel arguments on s390x
- install: Avoid segfault due to miscompilation in s390x release build
- iso: Compress Ignition config with XZ to increase capacity
- systemd: Suppress reboot after failure of a hook unit
- Document hooking install via an Ignition config
Internal changes:
- rootmap: Fix failure on unmodified rootfs
- rootmap: Inject
rootflagskernel argument
Packaging changes:
- Require
gptman≥ 0.7
coreos-installer 0.5.0 (2020-08-01)
Major changes:
- install: Add
--save-partlabeland--save-partindexoptions to preserve specified partitions - systemd: Add
coreos.inst.save_partlabelandcoreos.inst.save_partindexkargs
Minor changes:
- install: Fix installing to DASD via symlink
- systemd: Fix intermittent failure disabling MD-RAID and DM device activation
- systemd: Sequence
reboot/norebootservices aftercoreos-installer.target - Increase I/O block size when copying data, correctly
Internal changes:
- rdcore: Add
rootmapsubcommand to generate kargs for root device dependencies
Packaging changes:
- Don’t build
rdcorebinary unlessrdcorefeature is enabled - Add
globanduuiddependencies - Drop
progress-streamsdependency - Depend on
gptmanon all CPU architectures
coreos-installer 0.4.0 (2020-07-24)
Minor changes:
- install: Support
sha256hashes in--ignition-hash
Internal changes:
- rdcore: Add new program and Dracut module for internal use in the CoreOS initramfs
- rdcore: Add
stream-hashsubcommand for streaming verification of downloads - osmet: Add
pack --fastoption for use in development builds - osmet: Fix packing root filesystem wrapped in a
crypto_LUKScontainer
Packaging changes:
- Allow
byte-unit3.x or 4.x - Drop
sha2dependency
coreos-installer 0.3.0 (2020-07-13)
Major changes:
- install: Support remote Ignition configs with
--ignition-url - install: Support kernel argument modification with
--append-kargand--delete-karg - install: Support device-mapper target devices
- install: Support IBM Z DASD target devices
Minor changes:
- install: Deprecate
--firstboot-args - install: Report busy partitions if the target device is busy
- install: Correctly clear first MiB of target disk while copy is in progress
- install: Detect unreadable Ignition config before writing disk
- Increase I/O block size when copying data
- systemd: Correctly fail boot on systemd ≥ 245 if install fails
- systemd: Disable activation of MD-RAID and DM devices before install via new
coreos-installer-pre.target
Packaging changes:
- Update container to Fedora 32
- Require bincode ≥ 1.3
- Require sha2 ≥ 0.9
- Require gptman on s390x
- Relax patchlevel version requirements on dependencies
coreos-installer 0.2.1 (2020-05-30)
Major changes:
- Add Fedora 32 signing key; drop Fedora 30 signing key
Minor changes:
- Support creating offline image from RHCOS LUKS volume
- Add
coreos.instforwarding ofnet.ifnamesandnet.naming-schemekargs
coreos-installer 0.2.0 (2020-04-30)
Major changes:
- By default, install from an offline image shipped with the running system, if available
- When installing from a Fedora CoreOS stream, automatically select 4Kn image if needed
- Add
--copy-networkand--network-dirto copy network configs from the running system - Add
--ignition-hashto verify the hash of the specified Ignition config
Minor changes:
- Fix
coreos.instforwarding of repeated network kargs - Fix
coreos.instforwarding of network kargs without a value - Get block device path from
lsblkrather than constructing it - Stop overriding locked root account when launching emergency shell
- Redirect systemd generator’s stdout to kmsg
coreos-installer 0.1.3 (2020-03-20)
Major changes:
- Rename
--ignitionto--ignition-file.--ignitionis still accepted for compatibility. - Don’t discard disk contents before installing, so we don’t delete data partitions when reprovisioning
- Add
--preserve-on-errordebug option to skip clearing partition table on error
Minor changes:
- Fail install early if image sector size doesn’t match destination
- Ensure specified Ignition config exists before starting install
- Improve error message when mounting
/bootif no partitions found - Ignore HTTP errors on signature fetch if
--insecureis specified - Simplify download progress reporting if stderr is not a tty
- Retry when downloading
coreos.inst.ignition_url - Add upper-bound timeout to HTTP requests
coreos-installer 0.1.2 (2020-01-08)
This is release v0.1.2 of coreos-installer.
Thanks to the following contributors for patches during this release:
- Benjamin Gilbert (2):
- dracut: drop dracut modules
- systemd: add scripts and systemd units for running at boot
- Colin Walters (1):
- systemd: Add After=network-online.target
- Dusty Mabe (16):
- systemd: service: fix calls to get commandline arg values
- systemd: generator: rename cmdline_arg() to karg()
- systemd: installer: indicate we want the network
- systemd: reboot service: fix path to systemctl
- systemd: generator: mv reboot flag file creation to generator
- systemd: service: Make reboot service run after installer
- systemd: services: log more to the console
- systemd: use OnFailureJobMode=replace-irreversibly
- systemd: add coreos-installer-noreboot.service
- systemd: set SYSTEMD_SULOGIN_FORCE=1 for emergency.service
- Remove coreos.inst.stream_base_url karg
- systemd: make “network up” checking more robust
- systemd: remove rudimentary network checking code
- Cargo.toml: remove package.metadata.release.upload-doc option
- Cargo.toml: use default tag prefix
- Cargo.toml: replace deprecated option with new version
- Jonathan Lebon (1):
- Add Makefile
coreos-installer 0.1.1 (2019-12-18)
Changes:
- Improve error messages when rereading partition table
- Fix mounting boot device on CentOS 7.6
- verify: Explicitly trust imported keys
- verify: Switch to
alwaystrust model - main: get rid of wildcard imports
- Packaging and release fixes
- docs: add technical details about iso-embedding
- README: Rewrite for Rust implementation
- docs: fix typo in release-checklist
coreos-installer 0.1.0 (2019-11-08)
Changes:
- Initial release