Motivation
Currently, various files are copied into place by the distro setup scripts:
- systemd unit files
- shell scripts executed by systemd services
- /etc config files
- /boot/config.txt (and/or snippets of it)
- $HOME/.local/etc config files
- local static binaries such as
machine-name
This makes them hard to develop (because the develop/test iteration loop involves re-running the distro setup scripts on a fresh SD card image each time), and it also makes them hard to upgrade with integrity (because the SD card must be re-flashed to apply new changes). If we could manage such files with Forklift, then it would be easier iterate on these things, and to deploy them.
Goals
Steps
Unresolved Questions
Implementation History
Motivation
Currently, various files are copied into place by the distro setup scripts:
machine-nameThis makes them hard to develop (because the develop/test iteration loop involves re-running the distro setup scripts on a fresh SD card image each time), and it also makes them hard to upgrade with integrity (because the SD card must be re-flashed to apply new changes). If we could manage such files with Forklift, then it would be easier iterate on these things, and to deploy them.
Goals
Steps
/etcand/usras overlay filesystems, each with an intermediate layer managed by Forklift (so that Forklift can deliver arbitrary files into/etcand/usrat startup, and change which files it delivers in an atomic way)/etcand/usrwith ForkliftUnresolved Questions
/boot/config.txt? (UPDATE: moved to host/files: Enable managing bootloader/kernel files used before early boot forklift-run/forklift#241)Implementation History
usb0,eth1, andwlan1interfaces #351machine-namevia Forklift with pallet-standard rather than the OS setup scripts #411