build: image name clawdie-<codename>-<version>.img #46
6 changed files with 46 additions and 49 deletions
10
BUILD.md
10
BUILD.md
|
|
@ -137,14 +137,14 @@ sudo ./build.sh
|
|||
Output:
|
||||
|
||||
```text
|
||||
tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img
|
||||
tmp/output/clawdie-quindecim-0.2.29.img
|
||||
```
|
||||
|
||||
Published/downloaded artifacts are compressed as `.img.gz`. Stream the
|
||||
compressed image directly into `dd`:
|
||||
|
||||
```sh
|
||||
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
|
||||
gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
|
|
@ -153,15 +153,15 @@ For Linux or FreeBSD downloads from the published HTTPS path, prefer resumable
|
|||
|
||||
```sh
|
||||
curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz
|
||||
curl -fL --retry 5 --retry-delay 5 -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
```
|
||||
|
||||
For a build-local uncompressed image, plain `dd` is also fine:
|
||||
|
||||
```sh
|
||||
sudo dd if=tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img of=/dev/daX bs=1M status=progress conv=fsync
|
||||
sudo dd if=tmp/output/clawdie-quindecim-0.2.29.img of=/dev/daX bs=1M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
|
|
|
|||
28
FLASHING.md
28
FLASHING.md
|
|
@ -3,7 +3,7 @@
|
|||
Published Clawdie operator USB artifacts are compressed:
|
||||
|
||||
```text
|
||||
clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
|
||||
clawdie-quindecim-0.2.29.img.gz
|
||||
```
|
||||
|
||||
Default policy:
|
||||
|
|
@ -47,15 +47,15 @@ Download with resume and retries:
|
|||
|
||||
```sh
|
||||
curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz
|
||||
curl -fL --retry 5 --retry-delay 5 -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
```
|
||||
|
||||
Verify the downloaded artifact:
|
||||
|
||||
```sh
|
||||
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
|
||||
sha256sum -c clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
```
|
||||
|
||||
Unmount mounted USB partitions if needed:
|
||||
|
|
@ -68,7 +68,7 @@ Flash by streaming gzip into `dd`:
|
|||
|
||||
```sh
|
||||
set -o pipefail 2>/dev/null || true
|
||||
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
|
|
@ -89,22 +89,22 @@ Download with resume and retries:
|
|||
|
||||
```sh
|
||||
curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz
|
||||
curl -fL --retry 5 --retry-delay 5 -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY.img.gz.sha256
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
```
|
||||
|
||||
Verify the downloaded artifact:
|
||||
|
||||
```sh
|
||||
HASH=$(awk '{print $1}' clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256)
|
||||
sha256 -c "$HASH" clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
|
||||
HASH=$(awk '{print $1}' clawdie-quindecim-0.2.29.img.gz.sha256)
|
||||
sha256 -c "$HASH" clawdie-quindecim-0.2.29.img.gz
|
||||
```
|
||||
|
||||
If `sha256sum` is installed, this GNU-style form is also OK:
|
||||
|
||||
```sh
|
||||
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
|
||||
sha256sum -c clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
```
|
||||
|
||||
Unmount mounted USB partitions if needed:
|
||||
|
|
@ -116,7 +116,7 @@ sudo umount /dev/daXs* 2>/dev/null
|
|||
Flash by streaming gzip into `dd`:
|
||||
|
||||
```sh
|
||||
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
|
||||
gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
|
|
@ -131,21 +131,21 @@ For a local build artifact that already exists as a raw image:
|
|||
### Linux
|
||||
|
||||
```sh
|
||||
sudo dd if=clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
sudo dd if=clawdie-quindecim-0.2.29.img of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
### FreeBSD
|
||||
|
||||
```sh
|
||||
sudo dd if=clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img of=/dev/daX bs=1M status=progress conv=fsync
|
||||
sudo dd if=clawdie-quindecim-0.2.29.img of=/dev/daX bs=1M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
Only gunzip first if you specifically need the raw file for inspection or reuse:
|
||||
|
||||
```sh
|
||||
gunzip -k clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
|
||||
gunzip -k clawdie-quindecim-0.2.29.img.gz
|
||||
```
|
||||
|
||||
---
|
||||
|
|
|
|||
24
README.md
24
README.md
|
|
@ -170,17 +170,17 @@ Artifact names use a short Latin codename for the FreeBSD major line they were
|
|||
built on. For FreeBSD `15`, that codename is `quindecim`, so:
|
||||
|
||||
```text
|
||||
clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img
|
||||
clawdie-quindecim-0.2.29.img
|
||||
```
|
||||
|
||||
means:
|
||||
|
||||
- `clawdie` — project name
|
||||
- `xfce` — desktop/session target
|
||||
- `quindecim` — Latin for `15`, matching the FreeBSD 15 build line
|
||||
- `usb` — operator USB image
|
||||
- `DD.MM.YY` — build date
|
||||
- `abcdef0` — short `clawdie-iso` commit used for that build
|
||||
- `0.2.29` — version, tracking the zot release the image is built upon
|
||||
|
||||
Per-build provenance (build date, `clawdie-iso` commit, zot commit) lives in
|
||||
`build-manifest.json`, not the filename.
|
||||
|
||||
Small reference for the current naming convention:
|
||||
|
||||
|
|
@ -233,26 +233,26 @@ Download on Linux or FreeBSD with resume and retries:
|
|||
|
||||
```sh
|
||||
curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz
|
||||
curl -fL --retry 5 --retry-delay 5 -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
```
|
||||
|
||||
Linux:
|
||||
|
||||
```sh
|
||||
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
|
||||
sha256sum -c clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
set -o pipefail 2>/dev/null || true
|
||||
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
FreeBSD:
|
||||
|
||||
```sh
|
||||
HASH=$(awk '{print $1}' clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256)
|
||||
sha256 -c "$HASH" clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
|
||||
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
|
||||
HASH=$(awk '{print $1}' clawdie-quindecim-0.2.29.img.gz.sha256)
|
||||
sha256 -c "$HASH" clawdie-quindecim-0.2.29.img.gz
|
||||
gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/daX bs=1M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
|
|
|
|||
12
TESTING.md
12
TESTING.md
|
|
@ -1,7 +1,7 @@
|
|||
# Clawdie Operator USB Testing Guide
|
||||
|
||||
**Branch:** `xfce-operator-usb`
|
||||
**Target artifact:** `clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img`
|
||||
**Target artifact:** `clawdie-quindecim-0.2.29.img`
|
||||
**Current desktop path:** XFCE via SDDM, interactive login as `clawdie`
|
||||
|
||||
---
|
||||
|
|
@ -105,7 +105,7 @@ Run this on the FreeBSD build host after `build.sh` finishes.
|
|||
### Useful verification commands
|
||||
|
||||
```sh
|
||||
sudo mdconfig -a -t vnode -f tmp/output/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img
|
||||
sudo mdconfig -a -t vnode -f tmp/output/clawdie-quindecim-0.2.29.img
|
||||
sudo mount -o ro /dev/md0s2a /mnt
|
||||
|
||||
egrep 'hostname|root_rw_mount|tmpmfs|varmfs|sshd|avahi|powerd|powerdxx|pf_enable|sddm|display_manager|clawdie_live_gpu|clawdie_tailscale_up|linux_enable|zfs_enable|kld_list' /mnt/etc/rc.conf
|
||||
|
|
@ -426,12 +426,12 @@ FreeBSD. For a published compressed image on Linux, the default path is:
|
|||
|
||||
```sh
|
||||
curl -fL --continue-at - --retry 5 --retry-delay 5 --progress-bar -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz
|
||||
curl -fL --retry 5 --retry-delay 5 -O \
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
|
||||
sha256sum -c clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz.sha256
|
||||
https://osa.smilepowered.org/downloads/iso/clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
sha256sum -c clawdie-quindecim-0.2.29.img.gz.sha256
|
||||
set -o pipefail 2>/dev/null || true
|
||||
gzip -dc clawdie-xfce-quindecim-usb-DD.MM.YY-abcdef0.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
gzip -dc clawdie-quindecim-0.2.29.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
sync
|
||||
```
|
||||
|
||||
|
|
|
|||
11
build.sh
11
build.sh
|
|
@ -139,19 +139,16 @@ echo " Target : ${TARGET:-baremetal}"
|
|||
echo " Colibri : ${FEATURE_COLIBRI:-NO} (agent ${ZOT_VERSION:-} / stage ${COLIBRI_STAGE_AGENT:-YES})"
|
||||
echo ""
|
||||
|
||||
# Name the output for the thing we are actually building.
|
||||
# Keep the date short and operator-facing. Use a recognizable codename for the
|
||||
# FreeBSD major release when we have one, otherwise fall back to the old
|
||||
# fbsd<series> stamp.
|
||||
BUILD_DATE_STAMP="$(date +%d.%m.%y)"
|
||||
BUILD_REPO_SHORT_COMMIT="$(git -C "${SCRIPT_DIR}" rev-parse --short=7 HEAD 2>/dev/null || echo unknown)"
|
||||
# Name the output: clawdie-<freebsd-codename>-<version>.img, where the version
|
||||
# tracks zot (see ISO_VERSION above). Per-build provenance — date, clawdie-iso
|
||||
# commit, zot commit — lives in build-manifest.json, not the filename.
|
||||
BUILD_FREEBSD_MAJOR="${FREEBSD_RELEASE_SERIES%%.*}"
|
||||
BUILD_FREEBSD_STAMP="$(printf '%s' "${FREEBSD_RELEASE_SERIES}" | tr 'A-Z' 'a-z')"
|
||||
case "${BUILD_FREEBSD_MAJOR}" in
|
||||
15) BUILD_FREEBSD_CODENAME="quindecim" ;;
|
||||
*) BUILD_FREEBSD_CODENAME="fbsd${BUILD_FREEBSD_STAMP}" ;;
|
||||
esac
|
||||
IMAGE_NAME="clawdie-${DEFAULT_DESKTOP}-${BUILD_FREEBSD_CODENAME}-usb-${BUILD_DATE_STAMP}-${BUILD_REPO_SHORT_COMMIT}.img"
|
||||
IMAGE_NAME="clawdie-${BUILD_FREEBSD_CODENAME}-${ISO_VERSION}.img"
|
||||
: > "$NPM_CONFIG_GLOBALCONFIG"
|
||||
: > "$NPM_CONFIG_USERCONFIG"
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ ls -lh tmp/output
|
|||
```
|
||||
|
||||
```sh
|
||||
find tmp/output -maxdepth 1 -type f -name 'clawdie-xfce-*.img*' -ls
|
||||
find tmp/output -maxdepth 1 -type f -name 'clawdie-*.img*' -ls
|
||||
```
|
||||
|
||||
Confirm the image filename includes the current commit suffix. Do not publish an
|
||||
|
|
@ -61,7 +61,7 @@ steps that write beside the artifact, or use the `sudo` variants shown below.
|
|||
Set `IMG` to the raw image produced by the current build. Example:
|
||||
|
||||
```sh
|
||||
IMG="tmp/output/clawdie-xfce-quindecim-usb-22.05.26-8c8dd5f.img"
|
||||
IMG="tmp/output/clawdie-quindecim-0.2.29.img"
|
||||
```
|
||||
|
||||
```sh
|
||||
|
|
@ -131,15 +131,15 @@ Remove only the old public Clawdie image/checksum symlinks, not the new output
|
|||
files under `tmp/output`:
|
||||
|
||||
```sh
|
||||
sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-xfce-*.img.gz' -delete
|
||||
sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-*.img.gz' -delete
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-xfce-*.img.gz.sha256' -delete
|
||||
sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-*.img.gz.sha256' -delete
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-xfce-*.manifest.json' -delete
|
||||
sudo find /usr/local/www/osa/downloads/iso -maxdepth 1 -type l -name 'clawdie-*.manifest.json' -delete
|
||||
```
|
||||
|
||||
## 5. Link the new artifacts
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue