Skip to content

Releases: coreos/bootupd

v0.2.29

11 Aug 14:12
v0.2.29
a3510c5
Compare
Choose a tag to compare

New features

  • Extend bootupd to properly recognize and generate update metadata from EFI components installed in /usr/lib/efi by @HuijingHei in #938.

Notable fixes

  • Replace git based bootc-utils and bootc-blockdev with published bootc-internal-{utils,blockdev} crates to comply with Rust packaging "MUST" rules by @cgwalters in #963.
  • Enhance reliability by switching to fsfreeze_thaw_cycle() - a filesystem-safe mechanism especially relevant for XFS by @champtar in #970.

Other changes (internal cleanups, minor bugfixes)

Colin Walters (1):
      tests: Skip test_write_grubenv without the grub2-editenv binary

CoreOS Bot (1):
      Sync repo templates ⚙

Huijing Hei (10):
      install: attempt to use an already mounted ESP at the target
      ci: include `cosa osbuild metal4k` test to catch potential regressions
      grubconfig: set `/boot/grub2/grub.cfg` file mode to `0600`
      ci: verify the new installed `/boot/grub2/grub.cfg` permission is `0600`
      ci: extend memory to fix the `OOMKilled` worker
      efi: change timestamp to `now` as workaround of https://github.com/coreos/bootupd/issues/933
      ci: add fake `/usr/lib/efi` to test `generate-update-metadata()`
      efi: improve `get_efi_component_from_usr` to return `EFIComponent` struct
      tests: move the test logic out of GHA yaml
      Release v0.2.29

Timothée Ravier (1):
      README: Update status and update safety note

dependabot[bot] (3):
      build(deps): bump openssl from 0.10.72 to 0.10.73
      build(deps): bump clap from 4.5.38 to 4.5.40
      build(deps): bump the build group across 1 directory with 6 updates

SHA-256 digests:

  • crate: 90674ee4e18332fb1cc22c77dbbb85ae1dd95c0c54af5df4e92af0ed8deac65d
  • vendor: c695333d5ff3c546287598bb040aa04ee22d8e6ac03971bf35565dbe5fc735be

Full Changelog: v0.2.28...v0.2.29

v0.2.28

24 Jun 02:49
v0.2.28
766bb80
Compare
Choose a tag to compare

New features

  • Allows update EFI bootloader on riscv64 similar to aarch64 and x86_64 by @dustymabe in #916.
  • Support updating multiple EFIs in mirrored setups (RAID1) by @HuijingHei in #855.

Notable fixes

  • Rework grub2 default static config by @champtar in #841, that includes:

    • Add support for GRUB2_PASSWORD in user.cfg (partially fix https://issues.redhat.com/browse/RHEL-78299)
    • Include dropins instead of sourcing them, this should help updating config in the future
    • Add multiple small dropins to match classic grub2 installs
  • Add a simple implementation of fsfreeze_thaw_cycle(), that always call syncfs() first, then calls ioctl(FIFREEZE) and ioctl(FITHAW). This function ensures filesystem state is fully flushed — especially for XFS by @champtar in #948.

  • Add adopt tag to install the static GRUB config from tree by @HuijingHei in #945.

Other changes (internal cleanups, minor bugfixes)

Colin Walters (5):
      contrib/spec: Add BR on git
      ci: Update podman
      Update Dockerfile to use bootc
      Drop unused build target
      ci: Minor tweaks for bootc install

Dusty Mabe (2):
      tests/e2e-upgrade: update grub to Fedora 42 versions
      tests/e2e-update: drop manifest_fork logic

Etienne Champetier (2):
      Makefile: add missing .PHONY
      ci: also install grub config and systemd unit

Huijing Hei (22):
      update: do not try to copy a dir in the ESP if it does not exists
      xtask: create target dir before make srpm
      efi: add `context` when openning directory
      efi: remove trailing whitespaces to get correct product name
      Add `struct RootContext` to gather the context up and pass it down
      update: pass `RootContext` as parameter      
      update: pass `RootContext` to `run_update()`      
      Cargo.toml: bump MSRV to 1.84.1
      grubconfig: create `boot/grub2/grubenv` if not existing
      ci: install `grub2-tools-minimal` to test `test_write_grubenv()`
      efi: rewrite `ensure_mounted_esp()`
      efi: update `install()` and `update()` according to split change
      adopt_update: pass `RootContext` as parameter
      efi: update `validate()` according to the split change
      Back to use for loop in `get_mounted_esp()` for error propagation
      Update `sysroot` to `rootcxt` to make the var consistent
      ci: get esp part using `sfdisk`
      efi: during installation using `blockdev` to find esp partition instead of `partlabel`
      adopt: fix adoption when booting with BIOS firmware without ESP
      migrate: separate ostree command to functions
      efi: add `trim()` to remove trailing newline
      Add more log when invoking `efibootmgr`

Joseph Marrero Corchado (1):
      contrib/packaging/bootupd.spec: keep ix86 for c9s

Timothée Ravier (1):
      contrib/packaging/spec: Use git-core instead of full git

SHA-256 digests:

  • tar: a529ba1eb4e7b19274869717082b79164b4d7df81a6cd7b29a9d571e3bcacd6a
  • vendor: f824bddff57d4700d51c609ea5b0f9cba62d53d191d43f3f2cb884ac37134ea7

Full Changelog: v0.2.27...v0.2.28

v0.2.27

12 Feb 15:16
3203db5
Compare
Choose a tag to compare

New features

Notable fixes

  • bios+ppc64le: Support being passed a whole device by @cgwalters in #839

Projects using bootupd should be able to always pass the whole device across all architectures now.

Other changes (internal cleanups, minor bugfixes)

Full Changelog: v0.2.26...v0.2.27

v0.2.26

23 Jan 07:19
v0.2.26
e296f82
Compare
Choose a tag to compare

Release 0.2.26

This release introduces five notable changes:

  • Disable hardcode /usr/share/rpm, as we don't need it anymore (for example on modern Fedora), will use the sysimage path /usr/lib/sysimage/rpm if detecting it (#764).
  • Catch and ignore SIGTERM during update operations (#812).
  • Add systemd unit to trigger updates on boot (#803).
  • Pass --nofsroot to findmnt to fix issue #748 (#792).
  • Support running bootupctl status in container (#793).

Additionally, this release provides various dependency updates, and minor fixes.

Colin Walters (6):
      main: Don't use package system to query our own version
      Don't hardcode usr/share/rpm
      Catch and ignore SIGTERM during update operations
      Set KillMode=mixed
      Sync contrib service with static systemd args
      Release 0.2.26

HuijingHei (3):
      bios.rs: detect when payload is missing `grub2-modules`
      status: support running in a container
      status: support `bootupctl status --json` in container

Misaki Kasumi (2):
      bios.rs: pass --nofsroot to findmnt
      efi.rs: ensure writable ESP mount

Timothée Ravier (2):
      contrib/packaging/bootupd.spec: Fix EOL at EOF
      src: Fix 'contains_key' clippy lints

jbtrystram (1):
      packaging: Add systemd unit to trigger updates on boot

SHA-256 digests:

  • crate: 120e82a59f752a9c105453846658049a9742bf6f77f0a9ac95ff5a610988e7b9
  • vendor: 5b0295b5d533b2c1ab454ea318fd144fd0db0efdb7f2767ad2eeae61b081710b

Full Changelog: v0.2.25...v0.2.26

v0.2.25

19 Nov 14:07
v0.2.25
263ea52
Compare
Choose a tag to compare

Release 0.2.25

This release introduces one notable change:

  • On EFI systems, bootupd would fail to adopt an ESP when some files were missing, usually because they were not installed in a previous version and were thus not strictly needed for booting. With this patch, bootupd will skip the error and continue adopting the ESP, ignoring the missing files. (#765)

Additionally, this release provides various dependency updates and CI fixes.

Aster Boese (1):
      Disable tests that require creation time on musl

HuijingHei (3):
      ci: update `uraimo/run-on-arch-action` to v2.8.1
      tests/e2e-upgrade: update grub2 version
      filetree: skip the error if removing unexisting files

Renata Ravanelli (1):
      grub-static-pre.cfg: Update link to preserve coreos-assembler history

SHA-256 digests:

  • crate: 80e8be9a38a4f876381a2aab1400d86e2f12fda689de4d087c170eb7d7ff31fd
  • vendor: 87fac0f7f2b864b7bf975a8a560ad60885c46ed405b388e0384726fae39f7ee2

Full Changelog: v0.2.24...v0.2.25

v0.2.24

11 Oct 02:46
v0.2.24
0972dee
Compare
Choose a tag to compare

Release 0.2.24

This release introduces one notable change:

  • Fix a crash when trying to check the status of bootupd on a system booted with UEFI and with devices that do not have a partition table such as zram, CD/DVD and LUKS devices. (#740)

Additionally, this release provides various dependency updates.

Timothée Ravier (1):
      bios: Handle empty pttype from lsblk output

SHA-256 digests:

crate: 60ceb441b2911122891a891030f22de7c6c2d1604599e6ecb125b525da0aa889
vendor: ab981b6a4caaf7e6293318edb142106a0065a5edc690c3c508ca9f72551a213e

Full Changelog: v0.2.23...v0.2.24

v0.2.23

27 Sep 06:30
v0.2.23
3e55890
Compare
Choose a tag to compare

Release 0.2.23

This release introduces 1 notable change:

  • The previous release0.2.22 includes a change: adopt-and-update for BIOS, that would break updates if booting the OS on a none hybrid partition layout. This release fixes the issue by adding conditions to check partition layout before doing the updates (#729).

Additionally, this release provides various dependency updates.

HuijingHei (2):
      Convert to `let-else` syntax
      Skip `UEFI` or `BIOS` on none hybrid partition layout

SHA-256 digests:

crate: 338f0b2ca033d4a7cc11e587ff3eaff0cf718fe5e2721ba643c8d385bb979ed6
vendor: d8557c42483b34e8120159551b0752495e34d7d263ed2518f4f59fced6d08dd8

Full Changelog: v0.2.22...v0.2.23

v0.2.22

19 Sep 08:39
v0.2.22
870332c
Compare
Choose a tag to compare

Release 0.2.22

This release introduces two notable changes:

  • If a bootupd command failed, it would leave the systemd service unit in a failed state and systemd would then refuse to run a unit under the same name with systemd-run again until the failure is cleared. We now systematically call systemctl reset-failed before calling systemd-run to clear any potential failures from previous calls. (#715)
  • Implement adopt-and-update for BIOS. (#717)

Additionally, this release provides various dependency updates, and CI fixes.

Timothée Ravier (1):
      bootupctl: Clear failure status from previous runs

HuijingHei (2):
      spec: sync upstream to build all archs and drop i686
      bios.rs: add `adopt-and-update`

SHA-256 digests:

  • crate: f4f05409f1aa321da8f4fc6e07d129eaa357e12bde7a8390e05f2f07737c12cd
  • vendor: 9fb6540dc512f98d86f337d1f9f7263efb244c1a543d7122cc6da6f20efd1766

Full Changelog: v0.2.21...v0.2.22

v0.2.21

28 Aug 03:31
v0.2.21
02ea1b7
Compare
Choose a tag to compare

Release 0.2.21

This release introduces two notable changes:

  • When updating the ESP, instead of applying the diff files one by one to the destination directory, it will create a temporary directory that is a copy of the existing one in the ESP, apply the diff to that temporary directory and finally do an atomic rename exchange of the two directories (#669).
  • When crating an efi bootentry, the label will match the one that would be used by Anaconda (#685 and #686).

Additionally, this release provides various dependency updates, CI improvements, and documentation fixes.

HuijingHei (6):
      efi: sync bootentry label with Anaconda
      efi: avoid reading global state for `get_product_name()`
      Cargo.toml: bump MSRV to 1.75.0
      deps: bump clap from 3.2.25 to 4.5
      efi: update the ESP by creating a tmpdir and RENAME_EXCHANGE
      filetree: add failpoint when doing exchange

Full Changelog: v0.2.20…v0.2.21

v0.2.20

10 Jul 20:38
b9fd030
Compare
Choose a tag to compare

Release 0.2.20

This release introduces two notable changes:

  • Drops the systemd service in favor of systemd-run (#663).
  • The option --update-firmware will now match the current Anaconda behavior of removing all boot entries that match the product name and then creating a new boot entry (#665).

Additionally, this release provides various dependency updates, CI improvements, and documentation fixes.

Colin Walters (2):
      Port to rustix, drop nix
      ci: Add cross-arch builds

HuijingHei (6):
      ci: fix failed log
      Drop systemd service
      efi: change `--update-firmware` to match current Anaconda logic
      bootupd.spec: remove `%{_unitdir}`
      ci: minor updates - Remove fast track for `virtiofsd` as higher version is installed - Update `grub2` to newer version in ci testing
      Release 0.2.20

Timothée Ravier (2):
      github/workflows: Update to ubuntu-24.04 & podman
      README: Update now that it is no longer a daemon

Full Changelog: v0.2.19...v0.2.20