Skip to content

Configuration

Flashberry reads YAML through scripts/config.py. The selected path is passed with CFG=...; the default is flashberry.yml.

Core fields

arch: arm64
suite: bookworm
mirror: https://deb.debian.org/debian
components: [main, contrib, non-free, non-free-firmware]

hostname: flashpi
timezone: Europe/Berlin
locale: en_US.UTF-8

user:
  name: pi
  password: disabled

ssh_authorized_keys: []

packages:
  - git
  - curl
  - openssh-server

wifi: null

firstboot_expand_root: true

image:
  name: flashberry
  size_gb: 4

Architecture

Supported values are arm64, armhf, and arm. The architecture determines which QEMU binfmt handler and Debian kernel package Flashberry requires.

User authentication

user.password: disabled is the safer default. Provide complete OpenSSH public keys through ssh_authorized_keys instead of embedding private keys or secrets.

ssh_authorized_keys:
  - "ssh-ed25519 AAAA... workstation"

Wi-Fi

Keep Wi-Fi data in the ignored local configuration:

wifi:
  country: DE
  ssid: "Example network"
  psk: "replace-with-a-real-passphrase"
  hidden: false

Flashberry validates the country code, SSID byte length, passphrase format, and hidden-network flag before rendering wpa_supplicant.conf.

Image

image.name becomes the output filename and may contain letters, digits, ., _, and -. image.size_gb must be an integer from 1 through 1024.

Validate without building

python3 scripts/config.py validate flashberry.local.yml