Releases: coreos/bootupd
v0.2.32
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
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
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
New features
- Extend bootupd to properly recognize and generate update metadata from EFI components installed in
/usr/lib/efiby @HuijingHei in #938.
Notable fixes
- Replace git based
bootc-utilsandbootc-blockdevwith publishedbootc-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
New features
- Allows update EFI bootloader on
riscv64similar toaarch64andx86_64by @dustymabe in #916. - Support updating multiple EFIs in mirrored setups (RAID1) by @HuijingHei in #855.
Notable fixes
-
Rework
grub2default static config by @champtar in #841, that includes:- Add support for
GRUB2_PASSWORDin 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 support for
-
Add a simple implementation of
fsfreeze_thaw_cycle(), that always callsyncfs()first, then callsioctl(FIFREEZE)andioctl(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
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)
- Use bootc-utils for command helpers by @cgwalters in #821
- ci: fix vendor format to
tar.zstdby @HuijingHei in #823 - build(deps): bump log from 0.4.22 to 0.4.25 by @dependabot in #819
- build(deps): bump serde_json from 1.0.135 to 1.0.137 by @dependabot in #818
- Add
bootc-blockdevand local modblockdevby @HuijingHei in #824 - Cargo.toml: Add homepage by @travier in #835
- contrib/packaging/spec: Sync with Fedora changes by @travier in #838
- build(deps): bump clap from 4.5.26 to 4.5.28 by @dependabot in #842
- github/workflows: Run full CI for aarch64 by @travier in #840
- Drop dbg by @cgwalters in #843
- lib: Update to bootc 1.1.5 by @cgwalters in #844
- rpm_cmd: Also drop debugging
lsby @cgwalters in #845 - Rework vendoring by @cgwalters in #846
- Release 0.2.27 by @cgwalters in #847
Full Changelog: v0.2.26...v0.2.27
v0.2.26
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/rpmif detecting it (#764). - Catch and ignore
SIGTERMduring update operations (#812). - Add systemd unit to trigger updates on boot (#803).
- Pass
--nofsrootto findmnt to fix issue #748 (#792). - Support running
bootupctl statusin 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
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
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
Release 0.2.23
This release introduces 1 notable change:
- The previous release
0.2.22includes 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