diff --git a/README.md b/README.md index 0adb4f3..5dcd30d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,59 @@ +# Steamify CachyOS ISO for the Steam Machine + +A CachyOS desktop ISO for the Valve Steam Machine with +[Steamify](https://github.com/theupriser/steamify-cachyos) built in: +- The live session has the Steam Machine drivers (power-off fix). +- The installer ("CachyOS with Steamify Installer") has a Steamify page where + you pick the options and whether the PC starts in gaming mode or on the + desktop. Steamify is applied during the install. + +## Building the ISO yourself + +You need about 20 GB of free space, and a Linux PC with +[podman](https://podman.io) (or Docker: replace `podman` with `docker`). The +build runs in CachyOS's own container, so the PC doesn't have to run CachyOS. + +```bash +git clone -b feat/steamify https://github.com/theupriser/steammachine-cachyos-live-iso +cd steammachine-cachyos-live-iso + +# Put Steamify on the ISO: the newest release. To use your own checkout, +# pass its path: ./steamify-prepare.sh ~/steamify-cachyos +./steamify-prepare.sh + +mkdir -p ~/iso-cache # downloaded packages, kept for the next build +sudo podman run --rm -t --privileged --network=host \ + --pids-limit=-1 --ulimit nofile=65536:65536 \ + -v ~/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' +``` + +The ISO is written to `out/desktop/steamify-cachyos-.iso`. Write it to +a USB stick (for example with `dd` or Fedora Media Writer) and boot the Steam +Machine from it. + +**Why these steps:** +- `build-live-modules.sh` builds the power-off fix for the ISO's kernels. + Without it, the Steam Machine starts up again right after shutting down. +- `build-calamares-modules.sh` builds the installer module that shows the + Steamify page. CachyOS's installer package leaves it out. +- `--pids-limit=-1` and `--ulimit nofile=...` are needed because pacman runs + out of processes or open files in the container otherwise (GPGME errors). +- `--network=host` gives the container DNS. +- `-w` removes the build folder afterwards. Before building again, run + `sudo rm -rf build out`. + +To build on CachyOS directly, without a container, install the same packages +with pacman and run the three scripts with `sudo`. + +--- + +The notes below are from CachyOS's original repository. + These are the basic needed files and folders to build CachyOS system. ### buildiso