Releases: coreos/bootupd
v0.2.35
What's Changed
- Release 0.2.34 by @Johan-Liebert1 in #1094
- Only do "booted BIOS with no update" check during actual update by @alexlarsson in #1096
- build(deps): bump the build group across 1 directory with 6 updates by @dependabot[bot] in #1090
- tests: update grub2 version to F44 by @Rolv-Apneseth in #1101
- ci: Add crates.io trusted publishing on tag push by @cgwalters in #1086
- build(deps): bump the build group across 1 directory with 3 updates by @dependabot[bot] in #1102
- build(deps): bump uraimo/run-on-arch-action from 3.0.1 to 3.1.0 in the actions group across 1 directory by @dependabot[bot] in #1091
- ci: run additional bootupd related tests from fedora-coreos-config by @Rolv-Apneseth in #1104
- Port to cap-std by @Johan-Liebert1 in #1107
- Update bootc-internals to v1.16.0 by @Johan-Liebert1 in #1109
- Release v0.2.35 by @Johan-Liebert1 in #1111
New Contributors
- @alexlarsson made their first contribution in #1096
- @Rolv-Apneseth made their first contribution in #1101
Full Changelog: v0.2.34...v0.2.35
v0.2.34
What's Changed
- test: add
layoutfor raid1 test by @HuijingHei in #1087 - README: Mention Fedora IoT by @travier in #1092
- efi: Choose update layout depending on /usr/lib/efi by @Johan-Liebert1 in #1089
- efi: Respect SOURCE_DATE_EPOCH for reproducible builds by @Johan-Liebert1 in #1093
- Disable systemd service on CoreOS live filesystems by @nikita-dubrovskii in #1088
New Contributors
- @nikita-dubrovskii made their first contribution in #1088
Full Changelog: v0.2.33...v0.2.34
v0.2.33
What's Changed
- build(deps): bump the build group with 2 updates by @dependabot[bot] in #1031
- Sync repo templates ⚙ by @coreosbot-releng in #1036
- build(deps): bump the build group across 1 directory with 3 updates by @dependabot[bot] in #1038
- Revert "efi: require minimum of 2 components for update metadata generation" by @HuijingHei in #1041
- ci: cleanup; drop running COSA as UID 0 by @dustymabe in #1046
- build(deps): bump the build group across 1 directory with 7 updates by @dependabot[bot] in #1047
- Remove dependency
bincodeby @HuijingHei in #1048 - build(deps): bump the actions group with 2 updates by @dependabot[bot] in #1037
- Update will fail if update metadata is missing for the current boot type by @HuijingHei in #1039
- blockdev: support bootloader update on
MBRby @HuijingHei in #1054 - Sync repo templates ⚙ by @coreosbot-releng in #1052
- grubconfigs: ensure
bootuuid.cfgandgrubenvwith mode 0600 by @HuijingHei in #1063 - update: ensure the permissions of the grub files are updated to
0600by @HuijingHei in #1064 - build(deps): bump the build group across 1 directory with 9 updates by @dependabot[bot] in #1066
- Add support for installing to devices with multiple parents by @ckyrouac in #1068
- powerpc: Fix broken build by @ckyrouac in #1074
- build(deps): bump env_logger from 0.11.9 to 0.11.10 in the build group by @dependabot[bot] in #1078
New Contributors
Full Changelog: v0.2.32...v0.2.33
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