From 34105077c777b0d2c5c69f39921f376b84ce1443 Mon Sep 17 00:00:00 2001 From: Philip J Freeman Date: Sat, 31 May 2025 12:34:14 -0700 Subject: 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. --- README.md | 54 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 9 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 52266d8..3b63f19 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,52 @@ # ostree-demo -roughing out a quick demo to try out ostree for deploying ubuntu +## Intro -# delta test - adding nethack +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. - sudo ./make_rootfs.sh - sudo ./make_rootfs.sh with-app - sudo ./ostree_commit.sh rootfs/20250504.182708/ - sudo ./ostree_commit.sh rootfs/20250504.183218/ +## Obtaining prebuilt usb images - sudo ./ostree_delta.sh rootfs^ rootfs +Prebuilt usb device images are available here: - du -sh delta-update-file - 60K delta-update-file +A gpg signed checksum file is available to verify authenticity. + +Download the `.img.gz` and the `.img.bmap` file locally and use bmaptool to +write to a usb device. e.g: + + sudo bmaptool copy ./halo-01-usb-*.img /dev/sdX + + +## Using the running system + +On first boot, the system should re-partition the usb device and grow the root +filesystem for you. + +### Login + +Login as `root` with the password `guest` + +### Connect to the internet + +Use network manager on the cli to connect to the internet + + nmtui + +### Update + +Check for and apply system updates from public ostree repo, hosted at +: + + # halo-upgrade + + +## Building locally + + $ sudo ./build-os # build the os in a chroot, tweak it for ostree + $ sudo ./commit-os # commit the root filesystem to an ostree build repo + $ ./publish-repo # migrate the content to an archive repo + $ sudo ./generate-usb-img # build a bootable usb image file + $ ./sync-repo # sync the archive repo up to a webserver -- cgit v1.2.3