basementhud/pipeline/head This commit looks goodDetails
NetworkManager is a memory hog. We don't need it to do anything except
renew the DHCP lease when it's time, so let's switch to a more
lightweight alternative. Unfortunately, Fedora does not include any
systemd units for `dhclient`, so we have to provide our own.
Machine-specific data, such as SSH keys, should not be included in the
immutable root filesystem image, as this would prevent multiple machines
running from the same image. These few files can be stored locally, on
the SD card on eMMC flash.
The first time a machine boots up using this image, its local storage is
initialized. This involves creating a new filesystem on the block
device and generating SSH host keys. Once the storage is initialized,
it is remounted read-only. All subsequent mounts are read-only as well.
Using zram to compress pages did not provide enough memory to run
Firefox, Node, and Python for an extended period of time. Here's hoping
swap-on-NBD will be fast and reliable enough to work.
Note that systemd's default behavior with respect to swap areas is to
enable them all rather early in the boot process, before the network is
fully configured. As such, we have to use the *noauto* flag to disable
the default dependencies and add our own in a later target.