summaryrefslogtreecommitdiff
path: root/commit-os
diff options
context:
space:
mode:
authorPhilip J Freeman <elektron@halo.nu>2025-05-31 12:34:14 -0700
committerPhilip J Freeman <elektron@halo.nu>2025-05-31 15:47:31 -0700
commit34105077c777b0d2c5c69f39921f376b84ce1443 (patch)
tree606152d6f739a0ee7fd8e5127e79b595f3fe8c85 /commit-os
parent5392080129b1093f36533e47c155f618c283ea57 (diff)
Deploying a demo amd64 debian-based OS via ostree
This is a prototype outline for building and deploying a debian based OS with ostree. For purposes of demonstration, the OS runs from a bootable USB device on a UEFI capable amd64 machine. Once a USB device is created and booted, the OS can be updated using a simple shell script. <https://ostreedev.github.io/ostree/> <https://www.nin.wiki/Halo_numbers>
Diffstat (limited to 'commit-os')
-rwxr-xr-xcommit-os18
1 files changed, 18 insertions, 0 deletions
diff --git a/commit-os b/commit-os
new file mode 100755
index 0000000..5e16a06
--- /dev/null
+++ b/commit-os
@@ -0,0 +1,18 @@
+#!/bin/bash -xe
+set -o pipefail
+
+. config
+
+version="$(find "$roots" -mindepth 1 -maxdepth 1 -type d | cut -d/ -f2 | sort -rn | head -1)"
+root="$roots"/"$version"
+
+if [ ! -d "$root" ]; then
+ echo "Error: root dir not found: $root" >&2
+ exit 1
+fi
+
+[ -d "$build_repo" ] && rm -rf "$build_repo"
+
+ostree --repo="$build_repo" init --mode=archive
+
+ostree --repo="$build_repo" commit -b "$branch" --tree=dir="$root"