diff options
author | Colin Walters <walters@verbum.org> | 2020-09-24 19:28:31 +0000 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2020-09-24 21:24:48 +0000 |
commit | aa2a2783ea71d956db41f0f874d596752e47449f (patch) | |
tree | 377701e3585f2abf4bab6066024576c327b85ef7 /src/libostree/ostree-sysroot-private.h | |
parent | 6950a98099927d0d2b52719fbfb4fe73842400aa (diff) | |
download | ostree-aa2a2783ea71d956db41f0f874d596752e47449f.tar.gz |
deploy: Remove deployment bootcsum assertion
When support for devicetree was added, it created a problem
because old and new ostree versions would compute different
checksums for the "boot data". The scenario here is:
- Have system with ostree < 2020.4
- Reboot into system with ostree 2020.5
- Try to perform an operation that would retain
that previous booted deployment (common)
Currently ostree iterates over all the deployments
that will be retained and calls `install_deployment_kernel()`,
even for the booted one (which is a bit silly), but
just to verify that all boot data for the targeted
deployments are installed.
This then re-computes the checksum and we'd trip this
assertion.
In practice though, we don't strictly require them to match;
the only thing that will happen if they don't is that we'll
end up with another copy of the kernel/initramfs - and
that only temporarily until the previous deployment
gets GC'd.
Longer term, I think what we really want to do anyways
is probably closer to like a little ostree repo for `/boot`
so that we can e.g. still hardlink kernels there even if
the initramfs changes, or hardlink both kernel/initramfs
if just the devicetree changes, etc.
Closes: https://github.com/ostreedev/ostree/issues/2154
Diffstat (limited to 'src/libostree/ostree-sysroot-private.h')
-rw-r--r-- | src/libostree/ostree-sysroot-private.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libostree/ostree-sysroot-private.h b/src/libostree/ostree-sysroot-private.h index fa1e5336..1af2fd27 100644 --- a/src/libostree/ostree-sysroot-private.h +++ b/src/libostree/ostree-sysroot-private.h @@ -38,6 +38,7 @@ typedef enum { /* This is a temporary flag until we fully drop the explicit `systemctl start * ostree-finalize-staged.service` so that tests can exercise the new path unit. */ OSTREE_SYSROOT_DEBUG_TEST_STAGED_PATH = 1 << 3, + OSTREE_SYSROOT_DEBUG_TEST_NO_DTB = 1 << 4, /* https://github.com/ostreedev/ostree/issues/2154 */ } OstreeSysrootDebugFlags; typedef enum { |