Files
OrionOS/build-iso.sh
T
nmemmertandClaude Sonnet 4.6 61fa1194db Phase 7: rename SkyOS → OrionOS across entire codebase
- Rename all binaries: skywm→orionwm, skydeskbar→oriondeskbar,
  skylauncher→orionlauncher, skyinstall/skyinstall-gui→orioninstall*
- Rename theme directory: themes/SkyOS/ → themes/OrionOS/
- Update all string literals, window titles, menu labels, and comments
- Update ISO build: hostname→orionos, user→orion, all paths/labels
- Add Plymouth boot splash theme (orionos) with Navy+Blue palette
- Update GTK2/GTK3 theme names, wallpaper output name
- Update .gitignore, root Makefile, build-iso.sh for new binary names

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 13:42:18 -04:00

95 lines
3.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# OrionOS ISO builder — run this on your Mac to produce a bootable ISO.
# Requires: Docker Desktop (https://docker.com/products/docker-desktop)
#
# Usage: ./build-iso.sh
# Output: dist/orionos-<date>.iso
set -euo pipefail
REPO="$(cd "$(dirname "$0")" && pwd)"
DIST="$REPO/dist"
IMAGE="orionos-builder"
ISO_TAG="orionos-$(date +%Y%m%d)"
# ── preflight ─────────────────────────────────────────────────────────
if ! command -v docker &>/dev/null; then
echo ""
echo " Docker is not installed."
echo ""
echo " Install Docker Desktop for Mac:"
echo " https://www.docker.com/products/docker-desktop/"
echo ""
echo " After installing, open Docker Desktop once to let it start,"
echo " then re-run this script."
exit 1
fi
if ! docker info &>/dev/null; then
echo ""
echo " Docker is installed but not running."
echo " Open Docker Desktop and wait for it to start, then re-run."
exit 1
fi
echo ""
echo "┌─────────────────────────────────────────────┐"
echo "│ OrionOS ISO Builder │"
echo "│ Building a BeOS-inspired Linux desktop... │"
echo "└─────────────────────────────────────────────┘"
echo ""
# ── build the builder image ───────────────────────────────────────────
echo "Step 1/3: Building Docker image (downloads ~600MB Arch base, once)"
echo " This will be fast on subsequent runs."
echo ""
docker build \
--platform linux/amd64 \
-t "$IMAGE" \
-f "$REPO/iso/docker/Dockerfile" \
"$REPO"
# ── run the ISO build inside the container ────────────────────────────
echo ""
echo "Step 2/3: Building ISO inside Arch Linux container..."
echo " (5–15 min depending on internet speed and CPU)"
echo ""
mkdir -p "$DIST"
docker run \
--rm \
--privileged \
--platform linux/amd64 \
--security-opt seccomp=unconfined \
-v "$DIST:/dist" \
-e DIST=/dist \
"$IMAGE"
# ── rename with date tag ──────────────────────────────────────────────
echo ""
echo "Step 3/3: Finalizing..."
ISO="$(find "$DIST" -name "orionos*.iso" | head -1)"
if [[ -z "$ISO" ]]; then
echo "ERROR: ISO not found in $DIST — check the build output above."
exit 1
fi
FINAL="$DIST/$ISO_TAG.iso"
mv "$ISO" "$FINAL"
SIZE="$(du -sh "$FINAL" | cut -f1)"
echo ""
echo "┌─────────────────────────────────────────────┐"
echo "│ Done! │"
echo "│ │"
echo "│ ISO: dist/$ISO_TAG.iso"
echo "│ Size: $SIZE"
echo "│ │"
echo "│ Flash to USB: │"
echo "│ sudo dd if=$FINAL of=/dev/diskN bs=4m │"
echo "│ (replace /dev/diskN with your USB drive) │"
echo "│ │"
echo "│ Or use Balena Etcher (GUI): │"
echo "│ https://etcher.balena.io │"
echo "└─────────────────────────────────────────────┘"
echo ""