You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/design/README.md
+34Lines changed: 34 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -540,6 +540,40 @@ After installing packages, the result of `dnf list installed` will be output to
540
540
This will allow maintainers to audit which kit each package was taken from.
541
541
The rest of the variant image creation steps proceed the same way that they do now.
542
542
543
+
## Twoliter Repack
544
+
545
+
In the event that a maintainer wants to replace specific artifacts on an already-built variant image, such as the CA certificate bundle, TUF `root.json`, or Secure Boot keys, they can use the `repack-variant` target rather than rebuilding from source.
546
+
547
+
The `repack-variant` target operates on whatever images exist in the local build artifacts.
548
+
There are two ways to get them there:
549
+
550
+
-`build-variant`: builds images from source.
551
+
Use this when the images haven't been published yet or you have local source changes.
552
+
-`fetch-variant`: downloads previously published images from a TUF repository.
553
+
Use this when repacking a released set of images without rebuilding all packages.
554
+
555
+
```sh
556
+
# Repack published images:
557
+
twoliter make fetch-variant
558
+
twoliter make repack-variant
559
+
560
+
# Or repack locally built images:
561
+
twoliter make build-variant
562
+
twoliter make repack-variant
563
+
```
564
+
565
+
The `repack-variant` target takes the input image, replaces the configured artifacts, re-signs where necessary, regenerates dm-verity, and produces the final image.
566
+
567
+
For example, a maintainer behind a corporate proxy can add their internal CA to an existing image by pointing `BUILDSYS_CACERTS_BUNDLE_OVERRIDE` at a custom bundle:
0 commit comments