From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id C76ED1AD2A; Wed, 12 Nov 2025 22:18:37 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 6858B1AC03; Wed, 12 Nov 2025 22:18:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_PASS,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 Received: from mail-yx1-xb136.google.com (mail-yx1-xb136.google.com [IPv6:2607:f8b0:4864:20::b136]) by atuin.qyliss.net (Postfix) with ESMTPS id 85D4E1AB39 for ; Wed, 12 Nov 2025 22:18:01 +0000 (UTC) Received: by mail-yx1-xb136.google.com with SMTP id 956f58d0204a3-63f97c4eccaso134270d50.2 for ; Wed, 12 Nov 2025 14:18:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762985880; x=1763590680; darn=spectrum-os.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=MrlaUSQf3ZrT9SVjgFiM51xlUzXFFkMOY0ZVxErd9Ts=; b=d6ms3VVJbvfzYduw+5fRQYFzTiw+FejWMjnK7ILQen4CDVys5HQ7BM2pb4PQaNJUGc AYt7JyLGiNffyUGVOYYKz3+M6K5E1HZzsHRV7Zxd6Ghfmgs30c8sjLhGa1Q3Zb35N93E tt6rsziAR94P8RwIMRI3Nuimt4BD8EzYw8FQoaqdTJhQs5KG2F1CojsgoZ2i8ysCjFBM FQRSY7BqzwzHuqfsuP/b8qtRh9QDhSIi0I0Hh+koq6Ecq4mkpWFNraOFyVhZsf8t7Q9D qZ/A5afhnXz9ut5s7IACkxQoxVrPTNhXTJSJ1amnC7QkSaGnYU7TiHt/cdpR6jx9+jPJ wLdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762985880; x=1763590680; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=MrlaUSQf3ZrT9SVjgFiM51xlUzXFFkMOY0ZVxErd9Ts=; b=B+UHHEz0cuseROnDo8b7gpZS1hMx88vIVCyBs8wza1rMyDdhl+dXpNhB8GwdJ4BGfS Jt6mfqj9hvU7OVqjgtR32gWbysP/KtZkpeoqEPvTtkduE5PWCohcH+Ut+j4CTf+kCAJ+ MKFxKtvIul9SxXNR8QWaSCqGcCCSQyaCxgSqKNEf4qU449jiJibU83hct0fejzSxUa1V QUW9SQc7o3nl29BDc2d2EbSkRjqJC8ah5xezBwHja4o30UDaRMDsGKS/lxdGKd2AkI5A 4yk2mZ9+uOUxaWbFL4MmtS3NbEov+GsojSS46hmEuRfE0s78c0/NPI5UcmnCiEQOuS62 yIAA== X-Gm-Message-State: AOJu0YzWMmsPpslkqqAeMR2hKqzoS3SvrRd2b6YG6Y9QVlDpcdVdozYz jM0gmSpdBp7LY0eCHHjgTUi8Hhe3d3QWI7N8+X/5y2jx/hsvFKaffn9RpS1M91W5 X-Gm-Gg: ASbGncvmgvqNBjnR4hq8h81OTWB/o/vvgfEjtLd0Mv/Kve6Jt7PiQjslSM5Eh1ROjsF buH8lEtBjc54lzIE05rKkfDno1Ydi0DfP60856uSbiRTeCAtbFZ+Es8mDHzEmsJMrYmSD+MtUyY lfwxQzLmzF17EEegFsPmxylX2rKOvjIUbeLW5FvOlOnp3UfMd4ivIJwxG/ElZkuZ9SXoDhZObH6 DOVJZVakihe0zE2tH+ph+GDE/w+Gtpd6YHDgN+gPsn8AlEv9R8jkjPLXvcBtpMbr+T1Fec2o1Nv PidvXGOEgSYrR1WdbFDkUV3Bu4nR8ds8dd18m6zTU3limUDor2BDD/y4URix2251kqpXbQLDUde W3SigsBGmXseEi6dT0lc/7h/xArgVfTM3xtq74Y/t+bMkUASSzKLFQEZZ/ftl9yxMZdINrDJsgF j3r6SFZ3e1OAD4nle+SZGFRFjpnwwviJScuba63OBRhT9hbJf17AzUDg9d0LFDx56+jmK+9+I4j O+6kAKYSeiqVA8XxX2ag5GU X-Google-Smtp-Source: AGHT+IFEGGJL0bHj/78hM81tHbSH+lqszPesXxNjiN3GCa12JZrEs2KzLMb/cec2sQsBcGbjJ6AmSA== X-Received: by 2002:a05:690c:4b03:b0:786:5f42:5ac8 with SMTP id 00721157ae682-7881362d273mr39758397b3.15.1762985879832; Wed, 12 Nov 2025 14:17:59 -0800 (PST) Received: from localhost.localdomain (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169]) by smtp.gmail.com with UTF8SMTPSA id 00721157ae682-78822126ea2sm877297b3.35.2025.11.12.14.17.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 14:17:59 -0800 (PST) From: Demi Marie Obenour Date: Wed, 12 Nov 2025 17:15:01 -0500 Subject: [PATCH v2 7/8] Documentation: Update support MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20251112-updates-v2-7-88d96bf81b79@gmail.com> References: <20251112-updates-v2-0-88d96bf81b79@gmail.com> In-Reply-To: <20251112-updates-v2-0-88d96bf81b79@gmail.com> To: Spectrum OS Development X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1762985694; l=3317; i=demiobenour@gmail.com; s=20250729; h=from:subject:message-id; bh=VgA/YT68I68f4c1441daoe3AWLQfRjlexRo9crOw410=; b=kq0AK0j1H/1yoi5NIBwWBViyx5aj5ZJx6YvziaAnvu8keNWLe5qT6eFtK0VT5intCmk4/qUKb fuWZ71/TIx4CIqVpnWQi88LGQ9rhGVNjzhy7P8dXlvQVu45Jpajd0g6 X-Developer-Key: i=demiobenour@gmail.com; a=ed25519; pk=X57Q4/YQDj9t4SBeKaDwvXYKB6quZJVx/DE2Ly2out0= Message-ID-Hash: 2S67GMBHPQXCIUFUDVQ7QDXQR3VM26JW X-Message-ID-Hash: 2S67GMBHPQXCIUFUDVQ7QDXQR3VM26JW X-MailFrom: demiobenour@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Demi Marie Obenour , Alyssa Ross X-Mailman-Version: 3.3.9 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: There is now a way to update the OS, so the previous documentation is now stale! Signed-off-by: Demi Marie Obenour --- Documentation/installation/index.adoc | 3 ++- Documentation/using-spectrum/index.adoc | 2 ++ Documentation/using-spectrum/updates.adoc | 29 +++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/Documentation/installation/index.adoc b/Documentation/installation/index.adoc index d67c88dda062066c19c3b21e699f074cc18a6dbc..536c3dd9f78faa2ecad4127dc9ccc2058a230b1a 100644 --- a/Documentation/installation/index.adoc +++ b/Documentation/installation/index.adoc @@ -18,6 +18,7 @@ development. == Uninstalling and Updating -Currently, there is no implementation for a software update. +See xref:../using-spectrum/updates.adoc[Updating the OS] for how to enable +updates. You can replace Spectrum by installing another OS. diff --git a/Documentation/using-spectrum/index.adoc b/Documentation/using-spectrum/index.adoc index 25347a4ed7bb1f899ee0a3b85aa51da94bb954b4..5d9ea657f7c6f8c21edbf8637d2d2d0bf52f931d 100644 --- a/Documentation/using-spectrum/index.adoc +++ b/Documentation/using-spectrum/index.adoc @@ -11,3 +11,5 @@ Ready to get started with Spectrum? Here is what you can do next: * xref:running-vms.adoc[Start some applications]. * xref:creating-custom-vms.adoc[Create your own VM] to use other applications. +* xref:updates.adoc[Enable updates] so you can use newer versions of Spectrum + without reinstalling the OS. diff --git a/Documentation/using-spectrum/updates.adoc b/Documentation/using-spectrum/updates.adoc new file mode 100644 index 0000000000000000000000000000000000000000..ffd6fda269617768d486e58e30661bbefc8b2bbd --- /dev/null +++ b/Documentation/using-spectrum/updates.adoc @@ -0,0 +1,29 @@ += Updating the OS +:page-parent: Using Spectrum + +// SPDX-FileCopyrightText: 2025 Demi Marie Obenour +// SPDX-License-Identifier: GFDL-1.3-no-invariants-or-later OR CC-BY-SA-4.0 + +Spectrum supports updates via the `update` command. This +takes the path to a staging directory as argument. `update` +will create the directory, use it for the update, and then +delete it. The parent directory must exist. + +Updates are atomic and take effect after the system reboots. +If the system is rebooted, crashes, or loses power during an +update, the update will automatically be rolled back. Updates +are digitally signed and Spectrum will refuse to install an +update that does not have a trusted signature. + +Currently, Spectrum does not provide an update server, so +you must provide your own. You can do this via +xref:../development/build-configuration.adoc[build configuration]. +The default sets the signing key to `/dev/null` and the server +URL to an invalid value, so updates won't work. To enable updates, +set `update-url` to the URL of your server and `update-signing-key` +to a binary GnuPG keyring to verify the updates with. Not all possible +URLs will work, but most invalid URLs will cause an error during the +build rather than runtime misbehavior. + +Right now, it is not possible to change the update URL or signing key +except via an update or by reinstalling the OS. -- 2.51.2