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 4C50E8FAD; Sun, 04 Jan 2026 14:02:44 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 9ADDD8F2F; Sun, 04 Jan 2026 14:02:40 +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,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [IPv6:2001:67c:2050:0:465::102]) by atuin.qyliss.net (Postfix) with ESMTPS id 753678F8F for ; Sun, 04 Jan 2026 14:02:35 +0000 (UTC) Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4dkfJV0K14z9tdM for ; Sun, 4 Jan 2026 15:02:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1767535354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LQgFXMkUCgy/ecq9B9zGgQX9/JkUgdnhIBnp591cviA=; b=rEudvwMsS7FtOpnapN++WnTrIuuOKswOJWji4HYu99/4rKQCVl8btLrjaByY1WfwG3cQAt BbXFXR187taXp2Wc1UUgDEehLzs4XlHFVRfyCroDNgCXpKXELeOJ3BqTULvmu+UF1fY4Tv vRVPt3sEBZZEn2sqA32wegaAVdAeo0W8Vwtwog1Pjjg13z9sAop7PbwG2mKmago05ngLVy TdIBRVWjvdlrRnWHXTz61HRx9gMxc2mLWmO1kpd3zbvSulDc/zWJTznmGMh2MCINnN6Xi3 FFQdX5Ctn8E0CO3ThwzpLwg0MnRXnHczticUSVBr/NnJ3zJrcdVHS5L9ahy0+Q== Authentication-Results: outgoing_mbo_mout; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b=pGiBaUMT; spf=pass (outgoing_mbo_mout: domain of johannes.suellner@mailbox.org designates 2001:67c:2050:b231:465::1 as permitted sender) smtp.mailfrom=johannes.suellner@mailbox.org From: =?UTF-8?q?Johannes=20S=C3=BCllner?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1767535353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LQgFXMkUCgy/ecq9B9zGgQX9/JkUgdnhIBnp591cviA=; b=pGiBaUMTvl2kulB2akO6HoI/7v3IIQA9RaRk54a3feZNCfA2/9nWJWHgGcmVt8Lwk8qouv UcyKwjZyWQSTITeYhdj2B0MlrKTj/+mX70kWn+R0N0vTp9thu2L61MnmwGkDtKNb2WAk0Q DSMt+3as30Rbb5SU00lEolwf1aM2PZVRMCSTJLsIo6HHljO7Dq8AY15rnDKV+4FvhJt299 HnVW9kDsseJEqND/q4pvACVcxxyZpLIKT9WPFB7ySsiWeJ2dwK42JPwCVWj9EXwOSrT74I /J/plYvRSHJSIgix9qo9iV3qEjpzrBJ1N9FeuMDIPh2QchIxYsMadywrRoOOUQ== To: devel@spectrum-os.org Subject: [PATCH 3/4] release: drop combined and installer image Date: Sun, 4 Jan 2026 15:00:22 +0100 Message-ID: <20260104140102.106960-7-johannes.suellner@mailbox.org> In-Reply-To: <20260104140102.106960-5-johannes.suellner@mailbox.org> References: <20260104140102.106960-5-johannes.suellner@mailbox.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Developer-Signature: v=1; a=openpgp-sha256; l=32182; i=johannes.suellner@mailbox.org; h=from:subject; bh=I/wkztN7Hv9cRzgdn/Oi9sgC4o4gx/cYXOfgT5UjCK4=; b=owGbwMvMwCW2P/QNu5HhghDG02pJDJlRRWvdJO4edNuw7pib89GJT9bP1NOvPrj3qORmly3cL +se10fv7ShlYRDjYpAVU2RxeJrCv+J48lKGrFgRmDmsTCBDGLg4BWAiW1Yw/OF1YuEOdNqStCT5 jkLOKr2bbWFLjZj3bEwK0bZgMHNWCWT4Z58SsvGFXp2bwuMjGnFTD9tt+MTB2reiyWCOM8ek9U9 eMAEA X-Developer-Key: i=johannes.suellner@mailbox.org; a=openpgp; fpr=40E5640FA8C763A5006A5D14BF55EC073231A054 Content-Transfer-Encoding: 8bit X-MBO-RS-META: 5ziw7n7b9e4gmjgxirq5985ucbjgqsi4 X-MBO-RS-ID: ca96f4d570fe8424a0e X-Rspamd-Queue-Id: 4dkfJV0K14z9tdM Message-ID-Hash: TCMQE2O6P3YE6EGXVHSCPOFDJESDVGYA X-Message-ID-Hash: TCMQE2O6P3YE6EGXVHSCPOFDJESDVGYA X-MailFrom: johannes.suellner@mailbox.org 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: =?UTF-8?q?Johannes=20S=C3=BCllner?= 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: Installer is now part of the live system. Signed-off-by: Johannes Süllner --- Documentation/development/uuid-reference.adoc | 22 ---- release/checks/default.nix | 2 - release/checks/installer.nix | 16 --- release/combined/default.nix | 123 ------------------ release/combined/eosimages.nix | 21 --- release/combined/grub.cfg.in | 22 ---- release/combined/run-vm.nix | 31 ----- ...ble-gpt-partition-attribute-55-check.patch | 37 ------ ...pt-disable-partition-table-CRC-check.patch | 36 ----- .../0003-install-remove-Endless-OS-ad.patch | 99 -------------- ...4-finished-don-t-run-eos-diagnostics.patch | 44 ------- ...omote-spectrum-not-the-Endless-forum.patch | 32 ----- release/installer/app/default.nix | 26 ---- .../installer/app/vendor-customer-support.ini | 5 - release/installer/configuration.nix | 69 ---------- release/installer/default.nix | 22 ---- release/installer/run-vm.nix | 47 ------- release/installer/seat.rules | 9 -- 18 files changed, 663 deletions(-) delete mode 100644 release/checks/installer.nix delete mode 100644 release/combined/default.nix delete mode 100644 release/combined/eosimages.nix delete mode 100644 release/combined/grub.cfg.in delete mode 100644 release/combined/run-vm.nix delete mode 100644 release/installer/app/0001-gpt-disable-gpt-partition-attribute-55-check.patch delete mode 100644 release/installer/app/0002-gpt-disable-partition-table-CRC-check.patch delete mode 100644 release/installer/app/0003-install-remove-Endless-OS-ad.patch delete mode 100644 release/installer/app/0004-finished-don-t-run-eos-diagnostics.patch delete mode 100644 release/installer/app/0005-finished-promote-spectrum-not-the-Endless-forum.patch delete mode 100644 release/installer/app/default.nix delete mode 100644 release/installer/app/vendor-customer-support.ini delete mode 100644 release/installer/configuration.nix delete mode 100644 release/installer/default.nix delete mode 100644 release/installer/run-vm.nix delete mode 100644 release/installer/seat.rules diff --git a/Documentation/development/uuid-reference.adoc b/Documentation/development/uuid-reference.adoc index 16279c8..7e3641a 100644 --- a/Documentation/development/uuid-reference.adoc +++ b/Documentation/development/uuid-reference.adoc @@ -45,28 +45,6 @@ Specification]. https://uapi-group.org/specifications/specs/discoverable_partitions_specification/[Discoverable Partitions Specification]. -=== `56a3bbc3-aefa-43d9-a64d-7b3fd59bbc4e` - -https://github.com/endlessm/eos-installer["eosimages"] partition on the -Spectrum combined live system / installer image. - -== Combined Image Partition IDs - -These UUIDs are used as the unique partition identifiers for the -Spectrum combined live system / installer image. - -=== `6e23b026-9f1e-479d-8a58-a0cda382e1ce` - -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/checks/default.nix b/release/checks/default.nix index 9d618dd..ac47cb3 100644 --- a/release/checks/default.nix +++ b/release/checks/default.nix @@ -14,8 +14,6 @@ import ../../lib/call-package.nix ({ callSpectrumPackage }: doc-anchors = callSpectrumPackage ./doc-anchors.nix {}; - installer = callSpectrumPackage ./installer.nix {}; - integration = callSpectrumPackage ./integration {}; pkg-tests = callSpectrumPackage ./pkg-tests.nix {}; diff --git a/release/checks/installer.nix b/release/checks/installer.nix deleted file mode 100644 index d28a41b..0000000 --- a/release/checks/installer.nix +++ /dev/null @@ -1,16 +0,0 @@ -# SPDX-License-Identifier: MIT -# SPDX-FileCopyrightText: 2025 Alyssa Ross - -import ../../lib/call-package.nix ({ testers }: testers.nixosTest ({ ... }: { - name = "spectrum-test-installer"; - enableOCR = true; - - nodes = { - machine = ../installer/configuration.nix; - }; - - testScript = '' - start_all() - machine.wait_for_text("Spectrum") - ''; -})) (_: {}) diff --git a/release/combined/default.nix b/release/combined/default.nix deleted file mode 100644 index 3be32d4..0000000 --- a/release/combined/default.nix +++ /dev/null @@ -1,123 +0,0 @@ -# SPDX-License-Identifier: MIT -# SPDX-FileCopyrightText: 2021-2023 Alyssa Ross -# SPDX-FileCopyrightText: 2021 Yureka -# SPDX-FileCopyrightText: 2022 Unikie - -import ../../lib/call-package.nix ( -{ callSpectrumPackage -, lib, runCommand, stdenv, replaceVars, writeClosure -, dosfstools, grub2_efi, jq, libfaketime, mtools, squashfs-tools-ng -, systemdMinimal, util-linux -}: - -let - inherit (builtins) storeDir; - inherit (lib) removePrefix toUpper; - - eosimages = callSpectrumPackage ./eosimages.nix {}; - - installerPartUuid = "6e23b026-9f1e-479d-8a58-a0cda382e1ce"; - installer = callSpectrumPackage ../installer { - extraConfig = { - boot.initrd.availableKernelModules = [ "squashfs" ]; - - fileSystems.${storeDir} = { - device = "/dev/disk/by-partuuid/${installerPartUuid}"; - }; - }; - }; - - rootfs = runCommand "installer.img" { - nativeBuildInputs = [ squashfs-tools-ng ]; - __structuredAttrs = true; - unsafeDiscardReferences = { out = true; }; - dontFixup = true; - } '' - sed 's,^${storeDir}/,,' ${writeClosure [ installer.store ]} | - tar -C ${storeDir} -c --verbatim-files-from -T - \ - --owner 0 --group 0 | tar2sqfs $out - ''; - - efiArch = stdenv.hostPlatform.efiArch; - - grub = grub2_efi; - - grubCfg = replaceVars ./grub.cfg.in { - linux = removePrefix storeDir installer.kernel; - initrd = removePrefix storeDir installer.initramfs; - inherit (installer) kernelParams; - }; - - esp = runCommand "esp.img" { - nativeBuildInputs = [ grub libfaketime dosfstools mtools ]; - - env = { - grubTargetDir = "${grub}/lib/grub/${grub.grubTarget}"; - # Definition copied from util/grub-install-common.c. - # Last checked: GRUB 2.06 - pkglib_DATA = lib.escapeShellArgs [ - "efiemu32.o" "efiemu64.o" "moddep.lst" "command.lst" "fs.lst" - "partmap.lst" "parttool.lst" "video.lst" "crypto.lst" "terminal.lst" - "modinfo.sh" - ]; - }; - - __structuredAttrs = true; - unsafeDiscardReferences = { out = true; }; - dontFixup = true; - - passthru = { inherit grubCfg; }; - } '' - truncate -s 15M $out - faketime "1970-01-01 00:00:00" mkfs.vfat -i 0x2178694e -n EFI $out - mmd -i $out ::/EFI ::/EFI/BOOT \ - ::/grub ::/grub/${grub.grubTarget} ::/grub/fonts - - mcopy -i $out ${grubCfg} ::/grub/grub.cfg - mcopy -i $out $grubTargetDir/*.mod ::/grub/${grub.grubTarget} - for file in $pkglib_DATA; do - path="$grubTargetDir/$file" - ! [ -e "$path" ] || mcopy -i $out "$path" ::/grub/${grub.grubTarget} - done - mcopy -i $out ${grub}/share/grub/unicode.pf2 ::/grub/fonts - - grub-mkimage -o grub${efiArch}.efi -p "(hd0,gpt1)/grub" -O ${grub.grubTarget} part_gpt fat - mcopy -i $out grub${efiArch}.efi ::/EFI/BOOT/BOOT${toUpper efiArch}.EFI - - fsck.vfat -n $out - ''; -in - -runCommand "spectrum-installer" { - nativeBuildInputs = [ grub jq util-linux systemdMinimal ]; - __structuredAttrs = true; - unsafeDiscardReferences = { out = true; }; - dontFixup = true; - passthru = { inherit eosimages esp installer rootfs; }; -} '' - blockSize() { - wc -c "$1" | awk '{printf "%d\n", ($1 + 511) / 512}' - } - - fillPartition() { - read start size < <(sfdisk -J "$1" | jq -r --argjson index "$2" \ - '.partitiontable.partitions[$index] | "\(.start) \(.size)"') - dd if="$3" of="$1" seek="$start" count="$size" conv=notrunc - } - - espSize="$(blockSize ${esp})" - installerSize="$(blockSize ${rootfs})" - eosimagesSize="$(blockSize ${eosimages})" - - truncate -s $(((3 * 2048 + $espSize + $installerSize + $eosimagesSize) * 512)) $out - sfdisk --no-reread --no-tell-kernel $out < - -import ../../lib/call-package.nix ( -{ callSpectrumPackage, runCommand, e2fsprogs, tar2ext4 }: - -runCommand "eosimages.img" { - nativeBuildInputs = [ e2fsprogs tar2ext4 ]; - imageName = "Spectrum-0.0-x86_64-generic.0.Live.img"; - image = callSpectrumPackage ../live {}; - __structuredAttrs = true; - unsafeDiscardReferences = { out = true; }; - dontFixup = true; -} '' - mkdir dir - cd dir - gzip -1 < $image > $imageName.gz - sha256sum -- $imageName.gz > $imageName.gz.sha256 - tar -ch -- $imageName.gz $imageName.gz.sha256 | tar2ext4 -o $out - e2label $out eosimages -'') (_: {}) diff --git a/release/combined/grub.cfg.in b/release/combined/grub.cfg.in deleted file mode 100644 index a22f5fc..0000000 --- a/release/combined/grub.cfg.in +++ /dev/null @@ -1,22 +0,0 @@ -# SPDX-License-Identifier: EUPL-1.2+ -# SPDX-FileCopyrightText: 2021-2022, 2024 Alyssa Ross - -insmod efi_gop - -if [ "${grub_cpu}" == "x86_64" ]; then - insmod efi_uga -fi - -insmod font -loadfont /grub/fonts/unicode.pf2 - -insmod gfxterm -set gfxpayload=keep -terminal_output gfxterm -terminal_output console - -menuentry "Install Spectrum" { - set root=(hd0,gpt2) - linux @linux@ @kernelParams@ - initrd @initrd@ -} diff --git a/release/combined/run-vm.nix b/release/combined/run-vm.nix deleted file mode 100644 index 16e00cd..0000000 --- a/release/combined/run-vm.nix +++ /dev/null @@ -1,31 +0,0 @@ -# SPDX-License-Identifier: MIT -# SPDX-FileCopyrightText: 2021, 2023-2024 Alyssa Ross - -import ../../lib/call-package.nix ( -{ callSpectrumPackage, lib, writeShellScript, coreutils, qemu_kvm, stdenv }: - -let - image = callSpectrumPackage ./. {}; -in - -writeShellScript "run-spectrum-installer-vm.sh" '' - export PATH=${lib.makeBinPath [ coreutils qemu_kvm ]} - img="$(mktemp spectrum-installer-target.XXXXXXXXXX.img)" - truncate -s 20G "$img" - exec 3<>"$img" - rm -f "$img" - # usb-kbd is used here as edk2 does not support virtio-keyboard: - # https://github.com/tianocore/edk2/pull/6444 - exec ${../../scripts/run-qemu.sh} -cpu max -m 4G \ - -machine virtualization=on \ - -device virtio-mouse \ - -device virtio-gpu \ - -parallel none \ - -vga none \ - -device qemu-xhci \ - -device usb-kbd \ - -device usb-storage,drive=drive1,removable=true \ - -drive file=${qemu_kvm}/share/qemu/edk2-${stdenv.hostPlatform.qemuArch}-code.fd,format=raw,if=pflash,readonly=true \ - -drive file=${image},id=drive1,format=raw,if=none,readonly=true \ - -drive file=/proc/self/fd/3,format=raw,if=virtio -'') (_: {}) diff --git a/release/installer/app/0001-gpt-disable-gpt-partition-attribute-55-check.patch b/release/installer/app/0001-gpt-disable-gpt-partition-attribute-55-check.patch deleted file mode 100644 index 78bbc24..0000000 --- a/release/installer/app/0001-gpt-disable-gpt-partition-attribute-55-check.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 058050ee5ba6a8d8dae2ba7fa7334ee19f98dbf8 Mon Sep 17 00:00:00 2001 -SPDX-License-Identifier: GPL-2.0-or-later -SPDX-FileCopyrightText: 2021 Alyssa Ross -From: Alyssa Ross -Date: Thu, 9 Dec 2021 21:10:11 +0000 -Subject: [PATCH 1/5] gpt: disable gpt partition attribute 55 check - -Endless OS uses flag 55 to mean a partition should be auto-grown, and -to identify Endless OS partitions. Both of these meanings of flag 55 -are specific to Endless OS though, so it doesn't make sense for -installing other operating systems. ---- - gnome-image-installer/util/gpt.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gnome-image-installer/util/gpt.c b/gnome-image-installer/util/gpt.c -index 02926a5e..1261d9a0 100644 ---- a/gnome-image-installer/util/gpt.c -+++ b/gnome-image-installer/util/gpt.c -@@ -253,12 +253,14 @@ int is_eos_gpt_valid(struct ptable *pt, uint64_t *size) - || memcmp(&pt->partitions[i].type_guid, GPT_GUID_LINUX_ROOTFS_AARCH64, 16)==0 - || memcmp(&pt->partitions[i].type_guid, GPT_GUID_LINUX_ROOTFS_RISCV_32, 16)==0 - || memcmp(&pt->partitions[i].type_guid, GPT_GUID_LINUX_ROOTFS_RISCV_64, 16)==0) { -+#if 0 - uint64_t flags = 0; - memcpy(&flags, pt->partitions[i].attributes, 8); - if(!is_nth_flag_set(flags, 55)) { - // 55th flag must be 1 for EOS images - continue ; - } -+#endif - has_root=1; - break ; - } --- -2.37.1 - diff --git a/release/installer/app/0002-gpt-disable-partition-table-CRC-check.patch b/release/installer/app/0002-gpt-disable-partition-table-CRC-check.patch deleted file mode 100644 index 1628355..0000000 --- a/release/installer/app/0002-gpt-disable-partition-table-CRC-check.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 56dff17022a2ca631ac2ea529a84cb424c913500 Mon Sep 17 00:00:00 2001 -SPDX-FileCopyrightText: 2021 Alyssa Ross -SPDX-License-Identifier: GPL-2.0-or-later -From: Alyssa Ross -Date: Thu, 9 Dec 2021 21:09:33 +0000 -Subject: [PATCH 2/5] gpt: disable partition table CRC check - -This is faulty, I think because eos-installer only looks at the first -three entries in the partition table. ---- - gnome-image-installer/util/gpt.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gnome-image-installer/util/gpt.c b/gnome-image-installer/util/gpt.c -index 1261d9a0..fb8bab17 100644 ---- a/gnome-image-installer/util/gpt.c -+++ b/gnome-image-installer/util/gpt.c -@@ -223,6 +223,7 @@ int is_eos_gpt_valid(struct ptable *pt, uint64_t *size) - g_warning("invalid header crc"); - return 0; - } -+#if 0 - // crc32 of partition table - int n = pt->header.ptable_count * pt->header.ptable_partition_size; - uint8_t *buffer = (uint8_t*)malloc(n); -@@ -236,6 +237,7 @@ int is_eos_gpt_valid(struct ptable *pt, uint64_t *size) - return 0; - } - free(buffer); -+#endif - - // The first partition must be an EFI System Partition - if(memcmp(&pt->partitions[0].type_guid, GPT_GUID_EFI, 16)!=0) { --- -2.37.1 - diff --git a/release/installer/app/0003-install-remove-Endless-OS-ad.patch b/release/installer/app/0003-install-remove-Endless-OS-ad.patch deleted file mode 100644 index 8881b00..0000000 --- a/release/installer/app/0003-install-remove-Endless-OS-ad.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 1061a8c3cfb31dcc2519841360c6d14612898b2c Mon Sep 17 00:00:00 2001 -SPDX-FileCopyrightText: 2021 Alyssa Ross -SPDX-License-Identifier: GPL-2.0-or-later -From: Alyssa Ross -Date: Thu, 9 Dec 2021 21:06:16 +0000 -Subject: [PATCH 3/5] install: remove Endless OS ad - ---- - .../pages/install/gis-install-page.ui | 74 ------------------- - 1 file changed, 74 deletions(-) - -diff --git a/gnome-image-installer/pages/install/gis-install-page.ui b/gnome-image-installer/pages/install/gis-install-page.ui -index d3b7769c..2fcc31b9 100644 ---- a/gnome-image-installer/pages/install/gis-install-page.ui -+++ b/gnome-image-installer/pages/install/gis-install-page.ui -@@ -45,80 +45,6 @@ - 1 - - -- -- -- True -- False -- -- -- True -- False -- 12 -- 12 -- /org/gnome/initial-setup/software_screens.png -- -- -- -1 -- -- -- -- -- True -- False -- start -- 48 -- 48 -- vertical -- -- -- True -- False -- start -- Endless OS -- 0 -- -- -- -- -- -- -- -- False -- True -- 0 -- -- -- -- -- True -- False -- start -- 16 -- Fast, easy to use and powerful – with or without internet. -- --Endless OS is preloaded with over 100 apps, making it useful from the moment you turn it on. -- True -- 26 -- 0 -- -- -- -- -- -- False -- True -- 1 -- -- -- -- -- -- -- False -- True -- 2 -- -- - - - True --- -2.37.1 - diff --git a/release/installer/app/0004-finished-don-t-run-eos-diagnostics.patch b/release/installer/app/0004-finished-don-t-run-eos-diagnostics.patch deleted file mode 100644 index cf1b4ce..0000000 --- a/release/installer/app/0004-finished-don-t-run-eos-diagnostics.patch +++ /dev/null @@ -1,44 +0,0 @@ -From aefbf6a50097486616a7d0d3bc09e4efb0ed953b Mon Sep 17 00:00:00 2001 -SPDX-FileCopyrightText: 2021 Alyssa Ross -SPDX-License-Identifier: GPL-2.0-or-later -From: Alyssa Ross -Date: Thu, 9 Dec 2021 21:06:36 +0000 -Subject: [PATCH 4/5] finished: don't run eos-diagnostics - -This has to be installed separately from eos-installer, and we don't -currently do that for the Spectrum installer. If there was an error, -eos-installer would try to run it, and then display an additional -error message about not being able to find it on the error screen. ---- - .../pages/finished/gis-finished-page.c | 15 --------------- - 1 file changed, 15 deletions(-) - -diff --git a/gnome-image-installer/pages/finished/gis-finished-page.c b/gnome-image-installer/pages/finished/gis-finished-page.c -index 6cd26ff2..47b60adb 100644 ---- a/gnome-image-installer/pages/finished/gis-finished-page.c -+++ b/gnome-image-installer/pages/finished/gis-finished-page.c -@@ -285,21 +285,6 @@ gis_finished_page_shown (GisPage *page) - gtk_widget_hide (priv->success_box); - gis_assistant_locale_changed (assistant); - -- if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) -- { -- /* Running eos-diagnostics can be slow enough that we can't do it -- * synchronously on the UI thread. -- */ -- GFile *image_dir = G_FILE (gis_store_get_object (GIS_STORE_IMAGE_DIR)); -- /* See implementation of gis_write_diagnostics_async for rationale. */ -- const gchar *home_dir = priv->gedit != NULL ? g_get_home_dir () : NULL; -- -- g_application_hold (G_APPLICATION (page->driver)); -- gis_write_diagnostics_async (NULL, image_dir, home_dir, -- NULL, write_diagnostics_cb, -- g_object_ref (self)); -- } -- - /* If running within a live session, hide the "Turn off" button on error, - * since we have a perfectly good [X] button on the titlebar and we want - * to encourage the user to notice the link to the diagnostics file. --- -2.37.1 - diff --git a/release/installer/app/0005-finished-promote-spectrum-not-the-Endless-forum.patch b/release/installer/app/0005-finished-promote-spectrum-not-the-Endless-forum.patch deleted file mode 100644 index fc8c27d..0000000 --- a/release/installer/app/0005-finished-promote-spectrum-not-the-Endless-forum.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 786b48e3659db0a184600c5c7047d883b74c82cf Mon Sep 17 00:00:00 2001 -SPDX-FileCopyrightText: 2021 Alyssa Ross -SPDX-License-Identifier: GPL-2.0-or-later -From: Alyssa Ross -Date: Thu, 9 Dec 2021 21:07:38 +0000 -Subject: [PATCH 5/5] finished: promote #spectrum, not the Endless forum - ---- - gnome-image-installer/pages/finished/gis-finished-page.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/gnome-image-installer/pages/finished/gis-finished-page.c b/gnome-image-installer/pages/finished/gis-finished-page.c -index 47b60adb..2fc1ccf3 100644 ---- a/gnome-image-installer/pages/finished/gis-finished-page.c -+++ b/gnome-image-installer/pages/finished/gis-finished-page.c -@@ -461,11 +461,9 @@ gis_finished_page_locale_changed (GisPage *page) - } - - support_email = get_customer_support_email (); -- support_email_markup = g_strdup_printf ("%1$s", -- support_email); - /* Translators: the %s is the customer support email address */ -- support_markup = g_strdup_printf (_("Please contact %s or join the Endless Community to troubleshoot."), -- support_email_markup); -+ support_markup = g_strdup_printf (_("Please contact %s or join #spectrum on irc.libera.chat to troubleshoot."), -+ support_email); - gtk_label_set_markup (priv->support_label, support_markup); - } - --- -2.37.1 - diff --git a/release/installer/app/default.nix b/release/installer/app/default.nix deleted file mode 100644 index f0d739e..0000000 --- a/release/installer/app/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-License-Identifier: MIT -# SPDX-FileCopyrightText: 2021 Alyssa Ross - -{ eos-installer, fetchurl }: - -let - logo = fetchurl { - url = "https://spectrum-os.org/git/www/plain/logo/logo140.png?id=5ac2d787b12e05a9ea91e94ca9373ced55d7371a"; - sha256 = "008dkzapyrkbva3ziyb2fa1annjwfk28q9kwj1bgblgrq6sxllxk"; - }; -in - -eos-installer.overrideAttrs ({ patches ? [], postPatch ? "", ... }: { - patches = patches ++ [ - ./0001-gpt-disable-gpt-partition-attribute-55-check.patch - ./0002-gpt-disable-partition-table-CRC-check.patch - ./0003-install-remove-Endless-OS-ad.patch - ./0004-finished-don-t-run-eos-diagnostics.patch - ./0005-finished-promote-spectrum-not-the-Endless-forum.patch - ]; - - postPatch = postPatch + '' - find . -type f -print0 | xargs -0 sed -i 's/Endless OS/Spectrum/g' - cp ${logo} gnome-image-installer/pages/finished/endless_logo.png - ''; -}) diff --git a/release/installer/app/vendor-customer-support.ini b/release/installer/app/vendor-customer-support.ini deleted file mode 100644 index 4c4e650..0000000 --- a/release/installer/app/vendor-customer-support.ini +++ /dev/null @@ -1,5 +0,0 @@ -# SPDX-License-Identifier: CC0-1.0 -# SPDX-FileCopyrightText: 2021 Alyssa Ross - -[Customer Support] -Email = discuss@spectrum-os.org diff --git a/release/installer/configuration.nix b/release/installer/configuration.nix deleted file mode 100644 index 3f9ef24..0000000 --- a/release/installer/configuration.nix +++ /dev/null @@ -1,69 +0,0 @@ -# SPDX-License-Identifier: MIT -# SPDX-FileCopyrightText: 2021-2023, 2025 Alyssa Ross - -{ lib, modulesPath, pkgs, ... }: - -let - inherit (builtins) readFile; -in - -{ - imports = [ (modulesPath + "/profiles/all-hardware.nix") ]; - - boot.consoleLogLevel = lib.mkDefault 2; - boot.kernelParams = [ "udev.log_priority=5" ]; - boot.initrd.verbose = false; - - boot.kernelPackages = pkgs.linuxPackages_latest; - - boot.plymouth.enable = true; - boot.plymouth.logo = pkgs.callPackage ( - { runCommand, fetchurl, inkscape }: - runCommand "spectrum-logo.png" { - nativeBuildInputs = [ inkscape ]; - svg = fetchurl { - url = "https://spectrum-os.org/git/www/plain/logo/logo_mesh.svg?id=5ac2d787b12e05a9ea91e94ca9373ced55d7371a"; - sha256 = "1k5025nc5mxdls7bw7wk1734inadvibqxvg8b8yg6arr3y9yy46k"; - }; - } '' - inkscape -w 48 -h 48 -o "$out" "$svg" - '' - ) {}; - - fileSystems."/" = { fsType = "tmpfs"; }; - - services.cage.enable = true; - services.cage.program = lib.getExe (pkgs.callPackage ./app {}); - - services.udev.extraRules = '' - KERNEL=="card0", TAG+="systemd" - ''; - - systemd.services.cage-tty1.after = [ "dev-dri-card0.device" ]; - systemd.services.cage-tty1.wants = [ "dev-dri-card0.device" ]; - - # Force eos-installer to stop artificially constraining its size. - systemd.services.cage-tty1.environment.GIS_SMALL_SCREEN = "1"; - - users.users.demo = { group = "demo"; isNormalUser = true; }; - users.groups.demo = {}; - security.polkit.extraConfig = readFile ./seat.rules; - - services.udisks2.enable = true; - - documentation.enable = false; - networking.firewall.enable = false; - networking.resolvconf.enable = false; - nix.enable = false; - services.timesyncd.enable = false; - - boot.loader.systemd-boot.enable = true; - - environment.systemPackages = with pkgs; [ adwaita-icon-theme ]; - - systemd.tmpfiles.rules = [ - "L+ /var/lib/eos-image-defaults/vendor-customer-support.ini - - - - ${app/vendor-customer-support.ini}" - ]; - - system.stateVersion = lib.trivial.release; -} diff --git a/release/installer/default.nix b/release/installer/default.nix deleted file mode 100644 index 845eb24..0000000 --- a/release/installer/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -# SPDX-License-Identifier: MIT -# SPDX-FileCopyrightText: 2021-2022 Alyssa Ross - -import ../../lib/call-package.nix ({ extraConfig, nixos, writeClosure }: - -let - inherit (nixos { - imports = [ ./configuration.nix extraConfig ]; - }) config; -in - -{ - kernel = "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}"; - - initramfs = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; - - kernelParams = toString ([ - "init=${config.system.build.toplevel}/init" - ] ++ config.boot.kernelParams); - - store = writeClosure [ config.system.build.toplevel ]; -}) (_: { extraConfig = {}; }) diff --git a/release/installer/run-vm.nix b/release/installer/run-vm.nix deleted file mode 100644 index b9907f7..0000000 --- a/release/installer/run-vm.nix +++ /dev/null @@ -1,47 +0,0 @@ -# SPDX-License-Identifier: MIT -# SPDX-FileCopyrightText: 2021-2025 Alyssa Ross - -import ../../lib/call-package.nix ( -{ callSpectrumPackage, lib, coreutils, qemu_kvm, stdenv, writeShellScript }: - -let - inherit (builtins) storeDir; - inherit (lib) makeBinPath escapeShellArg; - - eosimages = callSpectrumPackage ../combined/eosimages.nix {}; - - installer = callSpectrumPackage ./. { - extraConfig = { - boot.initrd.availableKernelModules = [ "9p" "9pnet_virtio" ]; - - fileSystems.${storeDir} = { - fsType = "9p"; - device = "store"; - }; - }; - }; -in - -writeShellScript "run-spectrum-installer-vm.sh" '' - export PATH=${makeBinPath [ coreutils qemu_kvm ]} - img="$(mktemp spectrum-installer-target.XXXXXXXXXX.img)" - truncate -s 40G "$img" - exec 3<>"$img" - rm -f "$img" - exec ${../../scripts/run-qemu.sh} -cpu max -m 4G \ - -device virtio-keyboard \ - -device virtio-mouse \ - -device virtio-gpu \ - -parallel none \ - -vga none \ - -virtfs local,mount_tag=store,path=/nix/store,security_model=none,readonly=true \ - -drive file=${qemu_kvm}/share/qemu/edk2-${stdenv.hostPlatform.qemuArch}-code.fd,format=raw,if=pflash,readonly=true \ - -drive file=${eosimages},format=raw,if=virtio,readonly=true \ - -drive file=/proc/self/fd/3,format=raw,if=virtio \ - -kernel ${installer.kernel} \ - -initrd ${installer.initramfs} \ - -append ${escapeShellArg (toString [ - installer.kernelParams - "systemd.journald.forward_to_console" - ])} -'') (_: {}) diff --git a/release/installer/seat.rules b/release/installer/seat.rules deleted file mode 100644 index 79ff400..0000000 --- a/release/installer/seat.rules +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: EUPL-1.2+ -// SPDX-FileCopyrightText: 2021 Alyssa Ross - -polkit.addRule(function (action, subject) { - // The user of the graphical session should be able to do anything. - if (subject.seat) { - return polkit.Result.YES; - } -});