Skip to content

[Feature]: Add First Boot Configuration to Armbian Imager #73

@SuperKali

Description

@SuperKali

Prerequisites

  • I have searched the existing issues and this feature has not been requested before

Feature Area

User Interface / UX

Problem Statement

Currently, users who want to configure their Armbian devices at first boot must manually create and edit configuration files after flashing, or manually mount and edit the image before flashing. This process is:

  1. Not user-friendly - Requires command-line knowledge and manual file editing
  2. Error-prone - Manual configuration can lead to syntax errors or invalid settings
  3. Time-consuming - Especially when flashing multiple devices with similar configurations
  4. Inconsistent - Different users may use different approaches, making support harder

Armbian has a powerful automatic first boot configuration system documented at https://docs.armbian.com/User-Guide_Autoconfig/, but there's no GUI in the Armbian Imager to leverage this functionality.

Proposed Solution

Add a "First Boot Configuration" feature to the Armbian Imager that allows users to pre-configure their devices before flashing. The feature should:

  1. Add a new step/modal in the flashing workflow: after selecting the destination device, show an optional "Configure First Boot" step
  2. Provide a GUI for all configuration options supported by /root/.not_logged_in_yet
  3. Automatically inject the configuration file into the image before flashing
  4. Support preset profiles - Save and reuse configurations for different setups

Alternatives Considered

  • Manual configuration after boot (too complex for beginners)
  • Mount and edit images manually (error-prone)

How important is this feature to you?

Would significantly improve my workflow

Use Case

Headless Setup: User wants to configure WiFi and SSH key before first boot, so the device is immediately accessible without monitor/keyboard.

Multiple Devices: Deploy 5 boards with same network/user configuration in minutes instead of manual setup on each.

Mockups / Examples

Reference: Raspberry Pi Imager

Similar to their "Advanced Options" menu - a simple form with toggles and input fields.

Configuration File (generated by Imager)

# /root/.not_logged_in_yet
PRESET_NET_WIFI_ENABLED="1"
PRESET_NET_WIFI_SSID="MySSID"
PRESET_NET_WIFI_KEY="password"
PRESET_NET_WIFI_COUNTRYCODE="GB"
PRESET_NET_STATIC_IP="192.168.0.100"
PRESET_LOCALE="en_US.UTF-8"
PRESET_TIMEZONE="Etc/UTC"
PRESET_USER_NAME="armbian"
PRESET_USER_PASSWORD="password"
PRESET_USER_KEY="key.pub"

Additional Context

Implementation: Mount flashed image (or card) and inject /root/.not_logged_in_yet before ejecting.

Supported directives (from docs): https://docs.armbian.com/User-Guide_Autoconfig/

  • Network: PRESET_NET_* (WiFi, Ethernet, Static IP, DNS)
  • System: PRESET_LOCALE, PRESET_TIMEZONE
  • Users: PRESET_ROOT_*, PRESET_USER_*
  • Advanced: PRESET_CONFIGURATION (remote config URL), provisioning script

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions