Skip to content

Releases: coreos/bootupd

v0.2.32

20 Nov 03:46
v0.2.32

Choose a tag to compare

Release 0.2.32

Notable fixes

  • On x86_64 systems that are booted with EFI-only, legacy BIOS component is not needed. Previously, bootupd would fail during update metadata generation if these components or their tools weren’t present. This PR changes that behavior by making BIOS component metadata generation and installation optional. Commit by @martinezjavier in #1010.

  • With this change, bootupd will extend the support to install and update the EFI components from usr/lib/efi, fixes #926. Commit by @HuijingHei in #992.

Other changes (internal cleanups, minor bugfixes)

Huijing Hei (11):
      efi: update `get_efi_component_from_usr()` to return `Option`
      Add 2 functions `query_file()` and `transfer_ostree_boot_to_usr()`
      efi: transfer `usr/lib/ostree-boot` to `usr/lib/efi` in `generate_update_metadata()`
      efi: require minimum of 2 components for update metadata generation
      Fix building warning
      tests: update tests with the tranfering logic
      efi: update `transfer_ostree_boot_to_usr()` to return earlier if not existing `usr/lib/ostree-boot/efi/EFI`
      efi: Stop copying EFI components to `usr/lib/bootupd/updates/` when doing `generate_update_metadata()`
      bootupd: Handle component removal when doing updates
      cargo: bump MSRV to 1.90.0
      ci: Workaround for base-files dpkg error when adding 'testing' repo


Javier Martinez Canillas (3):
      component: Make update metadata generation to be optional
      component: Skip installing components without update metadata
      bios: Don't bail out if `grub2-install` is not present

SHA-256 digests:

  • crate: 707959742ecdfadaa4cc52a13bd234ffefe0bea2e6106743274ae3d9cbc4cf98
  • vendor: ac90511655cc68213b8308ca9351f823a800da34aa687f473ce561ebf9cc5e3e

Full Changelog: v0.2.31...v0.2.32

v0.2.31

25 Sep 02:10
v0.2.31
de779db

Choose a tag to compare

Release 0.2.31

Notable fix

  • When installing in a multipath environment, an error occurs because the partition attribute is not present. With this fix, the ESP (EFI System Partition) will be correctly detected in multipath environments. Commit by @HuijingHei (#1006).

Other changes (internal cleanups, minor bugfixes)

Huijing Hei (4):
      spec: Sync with changes in Fedora
      packagesystem: make `rpm` as build-time configuration
      efi: Check shim exists and return earlier if not found
      efi: fix the shim path

SHA-256 digests:

  • crate: d900ccdcf92ce24d83d4d7f9b243178b42bcac2581b243190e35d81af34644ea
  • vendor: 880e1150d08fd84a00e6c0e89eaa48a236dd08a39b8d8a827bf0e43f01dc39ef

Full Changelog: v0.2.30...v0.2.31

v0.2.30

10 Sep 05:48
v0.2.30
5a6bba3

Choose a tag to compare

Notable fixes

  • When installing with --src-root, copy grub static configs from the specified source root instead of the running system root. Commit by @jbtrystram (#990).

  • Skip EFI variable update when efivars fs is empty or mounted read-only, fixes #972. Commit by @HuijingHei (#998).

Other changes (internal cleanups, minor bugfixes)

Huijing Hei (12):
      Add template YAML frontmatter
      package: move to compare `version` instead of `timestamp`
      ci: fix failed ci workflow
      efi: Extend `get_efi_vendor()` to support `usr/lib/efi`
      component: update `install()` parameter to str
      Dockerfile: Remove `/var/roothome` as workaround
      Improve `get_efi_vendor()` to use `Path`
      packagesystem: add struct `Module` about package name and evr
      Add `versions` to `ContentMetadata`
      Fix build warning and ci error
      test: add `EPOCH` to query format
      Release v0.2.30

dependabot[bot] (3):
      build(deps): bump the build group across 1 directory with 4 updates
      build(deps): bump actions/checkout from 4 to 5
      build(deps): bump the build group across 1 directory with 8 updates

SHA-256 digests:

  • crate: 34fa675436d4019dd7dda5a8a02aeca60afda583c39e3ce94e045700153aa250
  • vendor: c4260d06034d36954ad761b95994a15b1eda3980eeadfabd112e8155538e4142

Full Changelog: v0.2.29...v0.2.30

v0.2.29

11 Aug 14:12
v0.2.29
a3510c5

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

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

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

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

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

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

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