Skip to content
/ init Public

Flatcar boot files to accommodate the systemd boot

License

Notifications You must be signed in to change notification settings

flatcar/init

Folders and files

NameName
Last commit message
Last commit date
Mar 7, 2025
Jan 14, 2022
Sep 29, 2023
Mar 2, 2022
Jun 7, 2024
Oct 24, 2024
Apr 24, 2023
Mar 25, 2024
Sep 20, 2017
Sep 2, 2021
Jan 4, 2018
Mar 18, 2013
Nov 3, 2022
Sep 29, 2023
Jan 4, 2018
Apr 24, 2023
Jul 24, 2023
Mar 20, 2018

System Initialization for Flatcar Container Linux

Flatcar uses systemd for init and process management. This repo is divided into three collections of files:

  • configs: Customized daemon configuration files, usually installed into /etc but 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 into /usr/lib/flatcar.
  • 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.

Important Steps

A few notes on things that must happen which are unique to Flatcar.

  • 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.
  • mount /: This directory can be completely empty.
  • initialize /: The / partition can be completely formatted by the user. Run systemd-tmpfiles to set everything up into a known state.
  • mount /usr: The entire distro lives in this directory.
  • mount /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.