System Initialization for CoreOS
CoreOS uses systemd for init and process management. This repo is divided into three collections of files:
- configs: Customized daemon configuration files, usually installed
/etcbut really the sky is the limit there.
- scripts: Helper scripts for init and service startup. These are
generally to be used as systemd oneshot services and installed
- systemd: Unit files for mount points, our helper scripts, or other services that don't install their own unit files.
The coreos-base/coreos-init ebuild handles the install process.
A few notes on things that must happen which are unique to CoreOS.
- resize btrfs: Support easy VM growth by checking if there is unused space at the end of the disk and expanding the filesystem to use it.
/: This directory can be completely empty.
/partition can be completely formatted by the user. Run systemd-tmpfiles to set everything up into a known state.
/usr: The entire distro lives in this directory.
/usr/share/oem: If an OEM is available on disk make sure it gets mounted here.
- generate ssh keys: The stock sshd units do not handle this so we need to.