Developer Guides | Flatcar Container Linux
Kinvolk
  • Blog
  • Releases
  • Docs
  • FAQ
  • Security
      • Flatcar Container Linux latest
        • Overview
          • Getting Started
            • Overview
              • Learning Series
                • Overview
                • Basic Configuration and Testing
                • Advanced Configuration
                • Managing Storage
                • Updates, Roll-Backs, Immutability
            • Quickstart
          • First Boot & Provisioning
            • Overview
              • Ignition
                • Overview
                • Boot process overview
                • Network configuration
                • Specification
                • Referencing dynamic data
              • Butane Config Transpiler
                • Overview
                • Getting Started
                • Examples
                • Butane Configuration Specification
              • Image Customization
                • Overview
                • Customizing a Flatcar image
              • Infrastructure as Code
                • Overview
              • [DEPRECATED / EOL] Container Linux Config Transpiler
                • Overview
                • Examples
                • Migrating from cloud-config
                • Referencing dynamic data
                • Operator Notes
                • CL Configuration Specification
          • OS Configuration
            • Overview
              • Using Systemd
                • Overview
                • Getting Started
                • Using systemctl
                • Using systemd and udev rules
                • User Units
              • Host Configuration
                • Overview
                • Adding users
                • Configuring date and time zone
                • Drop-In Units
                • Timers
                • Environment Variables
                • Kernel modules and other settings
                • Using NVIDIA GPUs on Flatcar
                • Power Management
              • Storage Setup
                • Overview
                • Additional disk space
                • Configuring RAID
                • Mounting storage
                • Configuring iSCSI
                • Using LVM
                • Managing swap space
                • ZFS Extension
              • Networking & Remote Access
                • Overview
                • DNS Configuration
                • OverlayBD Artifact Streaming
                • Network configuration with networkd
                • ACPI
          • System Extensions
            • Overview
          • Deployments
            • Overview
              • Cloud Providers
                • Overview
                • Akamai Connected Cloud (Linode)
                • AWS EC2
                • Brightbox
                • DigitalOcean
                • Exoscale
                • Google Compute Engine
                • Hetzner
                • Microsoft Azure
                • OracleCloud
                • STACKIT
                • Using Google Cloud Launcher
                • VMware
                • OVHcloud (community support)
                • Scaleway (community support)
                • Vultr VPS (community support)
              • Bare Metal
                • Overview
                • Booting from an ISO
                • Booting via PXE
                • Booting via iPXE
                • Installing to disk
                • Raspberry Pi 4
              • Virtualization Options
                • Overview
                • Eucalyptus 3.4
                • libvirt
                • OpenStack
                • QEMU
                • Hyper-V (community support)
                • KubeVirt (community support)
                • Proxmox VE (community support)
                • Vagrant (community support)
                • VirtualBox (community support)
                • Notes for distributors
          • Orchestration & Container Runtimes
            • Overview
              • Kubernetes
                • Overview
                • Getting started with Kubernetes
                • High Availability Kubernetes
              • Managing Clusters
                • Overview
                • Architectures
                • Cluster discovery
                • Using AWS ECS
              • Container Runtimes
                • Overview
                • Getting started with Docker
                • Incus
                • Switching to unified cgroups
                • Customizing Docker
                • Authenticating to Container Registries
          • Diagnostics and Fixing Issues
            • Overview
            • Collecting crash logs
            • Debugging tools
            • Reading the system log
            • Manual version rollbacks
            • Troubleshooting btrfs
          • Nebraska Update Manager & Releases
            • Overview
              • Nebraska Update Manager
                • Overview
                • Deployment & Authorization
                • Managing Flatcar updates
                • Migrating to older version of Nebraska.
                • Development
                  • Internationalization
                    • Overview
                    • Contributing
              • Managing Releases
                • Overview
                • Switching release channels
                • Update and reboot strategies
                • Verifying Images
                • update.conf
          • Security
            • Overview
              • Hardening & Compliance
                • Overview
                • FIPS mode
                • Hardening options
                • Set up audit
                • Trusted Computing
                • Disabling SMT
              • Encryption & Storage Security
                • Overview
                • SELinux
                • Setting up LUKS disk encryption
            • Constants and IDs
            • Supply chain security mechanisms
              • Security Options
                • Overview
                • Configuring SSSD
                • Customizing the SSH daemon
                • Custom certificate authorities
                • Generate self-signed certificates
                • Customizing the etcd unit
          • Migrating from CoreOS
            • Overview
            • Updating from CoreOS
          • Developer Guides
            • Overview
            • Guide to building custom Flatcar images from source
            • Building production images
            • Building custom kernel modules
            • Integrations
            • Tips and tricks
            • SDK bootstrap process
            • Flatcar Container Linux disk layout
            • Release guide
          • How to Contribute
            • Overview
            • Docs Style & Formatting
    1. Documentation
    2. latest
    3. Developer Guides

    Developer Guides

    This section is for developers who want to build Flatcar Container Linux from source, modify the OS, or produce customized images. Flatcar provides a containerized SDK for extending the OS and building custom images, together with OEM tooling for adapting Flatcar to run in specific environments.

    SDK

    • SDK tips and tricks
    • SDK build process
    • Disk layout
    • Guide to building custom Flatcar images from source
    • Vending production images / CI integration
    • Building custom kernel modules
    • Release guide

    Guides

    • Integrations
    • Kola integration testing framework
    • Supply chain security mechanisms

    Guide to building custom Flatcar images from source

    Building production images

    Building custom kernel modules

    Integrations

    Tips and tricks

    SDK bootstrap process

    Flatcar Container Linux disk layout

    Release guide


    Edit this page File documentation issue
    Kinvolk

    Copyright © The Flatcar Project Contributors.

    Copyright © Flatcar a Series of LF Projects, LLC.

    For website terms of use, trademark policy and other project policies please see lfprojects.org/policies.