summaryrefslogtreecommitdiff
path: root/README.md
blob: 15b110a6fd60a7798db10990a993a28474d14686 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 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: <https://os.halo.nu/images/>

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
<https://os.halo.nu/repo-dev/>:

    # 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

<https://fedoramagazine.org/building-your-own-atomic-bootc-desktop/>
<https://systemd.io/HOME_DIRECTORY/>