# halo-os ## Intro 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. ## Obtaining prebuilt usb images Prebuilt usb device images are available here: 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 `trent` with the password `reznor` ### 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 $ ./sync-repo # sync the archive repo up to a webserver $ sudo ./generate-usb-img # build a bootable usb image file $ ./sync-images # sync the images up to a webserver # Notes and References