systemd-sysupdate never writes to the running OS partition. Instead, it requires a separate partition to write the update into. Create a separate partition for that purpose. systemd-sysupdate will fail if the OS image does not fit in the partitions that the installer created. Therefor, make the partitions very large so that there is plenty of room for the OS to grow. This requires rewriting the code that calculates the partition sizes. Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> --- Changes since v4: - Leave B partitions empty. - Leave MiB unit implicit. - Use fixed GUIDs for blank partitions. Changes since v2: - Make into a standalone commit - Do not rely on separate script to generate the images. - Use a smaller size for the verity partition. --- Documentation/development/uuid-reference.adoc | 8 ++++++++ release/live/Makefile | 7 +++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Documentation/development/uuid-reference.adoc b/Documentation/development/uuid-reference.adoc index 146615896104d5ab20c2e9353e5ed8f7a3dc54a6..16279c8a7e690bbaafdc3e0194f3130ba65c281c 100644 --- a/Documentation/development/uuid-reference.adoc +++ b/Documentation/development/uuid-reference.adoc @@ -59,6 +59,14 @@ Spectrum combined live system / installer image. The Spectrum installer system. +=== `18f2ccff-92f1-4bb1-a80e-24f76ecda90c` + +The not-yet-used B verity partition. + +=== `ec0c5ff3-f6b1-4adf-82b4-61336c4d135f` + +The not-yet-used B root filesystem partition. + ''' == Finding Undocumented UUIDs diff --git a/release/live/Makefile b/release/live/Makefile index 46628bdaa5b4a02aca3dd15be4477c3b2c194993..12b13d6e730c494086d1e7f763495ffbd4bd4b88 100644 --- a/release/live/Makefile +++ b/release/live/Makefile @@ -10,12 +10,15 @@ DTBS ?= build/empty dest = build/live.img $(dest): ../../scripts/format-uuid.awk ../../scripts/make-gpt.sh ../../scripts/sfdisk-field.awk build/boot.fat $(ROOT_FS_IMAGES) +# 162MiB was calculated by running `veritysetup format` on 20GiB from /dev/urandom uuids=$$(awk -f ../../scripts/format-uuid.awk < $(ROOT_FS_VERITY_ROOTHASH)) && \ set -u -- $$uuids && \ bash ../../scripts/make-gpt.sh $@.tmp \ build/boot.fat:c12a7328-f81f-11d2-ba4b-00a0c93ec93b \ - $(ROOT_FS_VERITY):verity:$$2:Spectrum_'$(VERSION).verity' \ - $(ROOT_FS_IMAGE):root:$$1:Spectrum_'$(VERSION)' + $(ROOT_FS_VERITY):verity:$$2:Spectrum_'$(VERSION).verity:162' \ + $(ROOT_FS_IMAGE):root:$$1:Spectrum_'$(VERSION):20000' \ + /dev/null:verity:18f2ccff-92f1-4bb1-a80e-24f76ecda90c:_empty:162 \ + /dev/null:root:ec0c5ff3-f6b1-4adf-82b4-61336c4d135f:_empty:20000 mv $@.tmp $@ build/empty: -- 2.52.0