mirror of
https://github.com/theupriser/steamify-cachyos-dev.git
synced 2026-10-05 12:45:56 +02:00
docs: rename the local ISO checkout to steamify-cachyos-live-iso
- scripts and skills use ../steamify-cachyos-live-iso - TODO item 4: the ISO comes from the git.upriser.nl release
This commit is contained in:
1 parent
92bf3f0b19
commit
85657a3183
9 files changed
+32
-31
No files matched your search
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: steam-machine-iso
|
||||
description: Use when working on the Steam Machine CachyOS ISO (repo steammachine-cachyos-live-iso) or Steamify's install-time mode (steamify.sh --defaults, --first-login) - building the ISO in podman (in the test VM, or on the Steam Machine), the Calamares Steamify step, simulating the installer in the test VM, and testing the first desktop login.
|
||||
description: Use when working on the Steam Machine CachyOS ISO (repo steamify-cachyos-live-iso) or Steamify's install-time mode (steamify.sh --defaults, --first-login) - building the ISO in podman (in the test VM, or on the Steam Machine), the Calamares Steamify step, simulating the installer in the test VM, and testing the first desktop login.
|
||||
---
|
||||
|
||||
# Steam Machine ISO and Steamify's install-time mode
|
||||
@@ -18,7 +18,7 @@ setup during the install. Two repos:
|
||||
first login, and `lib/first-login.sh` leaves a one-time autostart
|
||||
(`--first-login`: single user's launcher on the new layout, then the app,
|
||||
next to CachyOS Hello). See AGENTS.md there.
|
||||
- `steammachine-cachyos-live-iso` (fork of CachyOS-Live-ISO), branch work
|
||||
- `steamify-cachyos-live-iso` (fork of CachyOS-Live-ISO), branch work
|
||||
never on master:
|
||||
- `archiso/airootfs/usr/local/bin/calamares-online.sh` (the installer
|
||||
launcher) copies CachyOS's `settings_online.conf` over
|
||||
@@ -114,14 +114,14 @@ VM: note what differs here. In the VM (`vm_ssh`, visibly in a Konsole there):
|
||||
|
||||
```bash
|
||||
sudo pacman -S --needed --noconfirm podman git
|
||||
git clone https://github.com/theupriser/steammachine-cachyos-live-iso ~/projects/steammachine-cachyos-live-iso
|
||||
git clone https://github.com/theupriser/steamify-cachyos-live-iso ~/projects/steamify-cachyos-live-iso
|
||||
sudo mount -t 9p -o trans=virtio,version=9p2000.L repo /mnt # the Steamify checkout (REPO)
|
||||
cd ~/projects/steammachine-cachyos-live-iso && git checkout feat/steamify && ./steamify-prepare.sh /mnt
|
||||
cd ~/projects/steamify-cachyos-live-iso && git checkout feat/steamify && ./steamify-prepare.sh /mnt
|
||||
```
|
||||
|
||||
then the same `podman run` as below (paths in the VM; `~/projects/iso-build.log`).
|
||||
The ISO (~3.2 GB) fits the 60G disk; copy it out with
|
||||
`vm_scp "$VM_USER@$VM_HOST:~/projects/steammachine-cachyos-live-iso/out/desktop/*.iso" .`
|
||||
`vm_scp "$VM_USER@$VM_HOST:~/projects/steamify-cachyos-live-iso/out/desktop/*.iso" .`
|
||||
(`scripts/common.sh`), then install it with `scripts/vminstall.sh --iso`.
|
||||
Give the VM more room with a bigger disk if `out/`, `build/` and the package
|
||||
cache grow over several builds (`sudo rm -rf build out` between builds).
|
||||
@@ -130,10 +130,10 @@ cache grow over several builds (`sudo rm -rf build out` between builds).
|
||||
|
||||
Only podman is installed on the Steam Machine itself; the build tools live in
|
||||
the container. Rootful (loop devices, mounts), so `sudo podman ps` shows it,
|
||||
not a rootless podman GUI. Clone: `~/projects/steammachine-cachyos-live-iso`.
|
||||
not a rootless podman GUI. Clone: `~/projects/steamify-cachyos-live-iso`.
|
||||
|
||||
```bash
|
||||
cd ~/projects/steammachine-cachyos-live-iso
|
||||
cd ~/projects/steamify-cachyos-live-iso
|
||||
git checkout feat/steamify && ./steamify-prepare.sh ~/projects/steamify-cachyos
|
||||
sudo rm -rf build out
|
||||
systemd-run --user --collect -q -u isobuild-$(date +%s) --working-directory=$PWD bash -c \
|
||||
|
||||
@@ -10,7 +10,7 @@ on git.upriser.nl, GitHub's link to it answers 200.
|
||||
|
||||
## The flow (one tag names everything)
|
||||
|
||||
1. **GitHub, `iso-release.yml`** (ISO repo `theupriser/steammachine-cachyos-live-iso`, `workflow_dispatch` only):
|
||||
1. **GitHub, `iso-release.yml`** (ISO repo `theupriser/steamify-cachyos-live-iso`, `workflow_dispatch` only):
|
||||
takes Steamify's newest release (`X.Y.Z`), the time **now in UTC** and makes an **annotated tag**
|
||||
`vX.Y.Z-[dev.]YYYY.MM.DD-HHMM` plus a GitHub release with the changelog notes and the *direct* download link
|
||||
on Gitea. `dev.` and a pre-release on `feat/steamify` (test build), none on `master` (a release).
|
||||
@@ -22,7 +22,7 @@ on git.upriser.nl, GitHub's link to it answers 200.
|
||||
attaches ISO + `.sha256` + `.sha1` + `.pkgs.txt` to the mirror's release for that tag
|
||||
(`akkuman/gitea-release-action`, the run's own token). Never overwrites a release that already has its ISO.
|
||||
4. **Trigger:** by hand (*Actions -> Steamify ISO release (tag) -> Run workflow*, or
|
||||
`gh workflow run iso-release.yml -R theupriser/steammachine-cachyos-live-iso --ref feat/steamify`), or by a
|
||||
`gh workflow run iso-release.yml -R theupriser/steamify-cachyos-live-iso --ref feat/steamify`), or by a
|
||||
new Steamify release: `steamify-cachyos`' `bundle.yml` step "Start the Steamify ISO's release" (secret
|
||||
`ISO_DISPATCH_TOKEN` there: fine-grained token, only the ISO repo, *Actions: read and write*; without it the
|
||||
step is skipped). A push does **not** release (a build is 20 minutes and 3.2 GB).
|
||||
|
||||
@@ -52,7 +52,7 @@ pulls the pushed branch on the remote, so it needs a GitHub key there first
|
||||
|
||||
```bash
|
||||
cd ~/Projects && rsync -az --exclude out --exclude build \
|
||||
steammachine-cachyos-live-iso steamify-cachyos steamify-cachyos-dev wsl:projects/
|
||||
steamify-cachyos-live-iso steamify-cachyos steamify-cachyos-dev wsl:projects/
|
||||
ssh wsl 'find ~/projects -name __pycache__ -prune -exec rm -rf {} +; chown -R root: ~/projects'
|
||||
```
|
||||
|
||||
@@ -63,14 +63,14 @@ Both fixups are needed: rsync keeps the laptop's uid (git then refuses with
|
||||
## Building the ISO (~8 minutes)
|
||||
|
||||
```bash
|
||||
ssh wsl 'cd ~/projects/steammachine-cachyos-live-iso && ./steamify-prepare.sh ~/projects/steamify-cachyos'
|
||||
ssh wsl 'cd ~/projects/steammachine-cachyos-live-iso && rm -rf build out && systemd-run --collect -q -u isobuild-$(date +%s) --working-directory=$PWD bash -c "podman run --rm -t --pids-limit=-1 --ulimit nofile=65536:65536 --privileged --network=host -v /root/projects/iso-cache:/var/cache/pacman/pkg -v $PWD:/iso -w /iso docker.io/cachyos/cachyos:latest bash -c '\''pacman-key --init && pacman-key --populate && pacman -Syu --noconfirm --needed archiso mkinitcpio-archiso git squashfs-tools grub sudo && ./build-live-modules.sh && ./build-calamares-modules.sh && { ./buildiso.sh -p desktop -w || ./buildiso.sh -p desktop -c -w; }'\'' > /root/projects/iso-build.log 2>&1"'
|
||||
ssh wsl 'cd ~/projects/steamify-cachyos-live-iso && ./steamify-prepare.sh ~/projects/steamify-cachyos'
|
||||
ssh wsl 'cd ~/projects/steamify-cachyos-live-iso && rm -rf build out && systemd-run --collect -q -u isobuild-$(date +%s) --working-directory=$PWD bash -c "podman run --rm -t --pids-limit=-1 --ulimit nofile=65536:65536 --privileged --network=host -v /root/projects/iso-cache:/var/cache/pacman/pkg -v $PWD:/iso -w /iso docker.io/cachyos/cachyos:latest bash -c '\''pacman-key --init && pacman-key --populate && pacman -Syu --noconfirm --needed archiso mkinitcpio-archiso git squashfs-tools grub sudo && ./build-live-modules.sh && ./build-calamares-modules.sh && { ./buildiso.sh -p desktop -w || ./buildiso.sh -p desktop -c -w; }'\'' > /root/projects/iso-build.log 2>&1"'
|
||||
```
|
||||
|
||||
Wait in one background command, not a polling loop:
|
||||
`ssh wsl 'until ! podman ps -q | grep -q .; do sleep 20; done; tail -c 1500 ~/projects/iso-build.log; ls -la ~/projects/steammachine-cachyos-live-iso/out/desktop/'`.
|
||||
`ssh wsl 'until ! podman ps -q | grep -q .; do sleep 20; done; tail -c 1500 ~/projects/iso-build.log; ls -la ~/projects/steamify-cachyos-live-iso/out/desktop/'`.
|
||||
Never start a build while `podman ps` shows one. Output:
|
||||
`/root/projects/steammachine-cachyos-live-iso/out/desktop/steamify-cachyos-local-x86_64.iso` (a build by hand
|
||||
`/root/projects/steamify-cachyos-live-iso/out/desktop/steamify-cachyos-local-x86_64.iso` (a build by hand
|
||||
has no release tag, so it's named `local`, label `STEAMIFY_<version>_LOCAL`; releases are built on the Gitea
|
||||
mirror from a GitHub tag, see the ISO repo's `iso-release.yml`) (from
|
||||
Windows Explorer: `\\wsl$\<distro>\root\projects\...`). The trailing
|
||||
|
||||
Reference in new issue
Block a user