Skip to content

System wide and admin settings

Hardware

Alternative kernels, headers, overlays, bootenv

Alternative kernels

Use alternative kernels

Alternative kernels

Switching between different kernel versions can significantly impact the functionality of your device. A newer or older kernel may introduce changes to hardware compatibility, drivers, and system stability. Some features may stop working, while others may improve or be reintroduced.

Kernel changes carry inherent risks!

  • A mismatched or incompatible kernel may result in boot failures, rendering the system unresponsive.
  • Certain peripherals or hardware components (e.g., Wi-Fi, GPU acceleration, or power management) may no longer function correctly.
  • Custom configurations or third-party modules might need to be recompiled or adjusted to work with the new kernel.

Precautions Before Switching Kernels Before switching kernels, it is strongly recommended to:

  1. Back up your system to prevent data loss.
  2. Verify compatibility of your hardware and essential drivers with the target kernel version.
  3. Keep a rescue method available, such as a bootable SD card / USB drive or serial console access, to recover the system if necessary.

Recovery Steps if Boot Fails If your device fails to boot after a kernel change, you may need to:

  • Revert to a previous working kernel using recovery options.
  • Use a serial console or debug mode to diagnose the issue.
  • Reinstall the system if no recovery options are available.

Exercise caution when switching kernels, especially on production systems or devices with limited recovery options.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd KER001

Kernel Headers

Install Linux headers

Kernel Headers

Kernel headers are files required to build modules (drivers) or software that interfaces directly with the Linux kernel. Installing headers ensures compatibility when compiling custom drivers, DKMS modules (like ZFS, WireGuard), or updating third-party software that requires access to kernel internals. The installed headers match your running kernel version and are critical for system extensions and hardware support.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd HEAD01
Remove Linux headers:
armbian-config --cmd HEAD02

Device Tree Overlays

Manage device tree overlays

Device Tree Overlays

Device Tree Overlays allow you to dynamically modify the Linux device tree at runtime, without rebuilding the kernel. They are used to enable or configure specific hardware features (like GPIO pins, I²C, SPI, sensors, displays) on single-board computers. Overlays are small snippets that can add, change, or remove parts of the hardware description, making it flexible to adapt the system for different peripherals without recompiling the full device tree.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd DTO001

Odroid Boards Config

Select Odroid board configuration

Status: Preview
Architecture: armhf

armbian-config --cmd ODR001

Boot Environment

Edit the boot environment

Boot Environment

Edit the boot environment allows you to modify critical boot settings stored in /boot/armbianEnv.txt. You can adjust options such as root filesystem location, kernel parameters, overlays, boot targets, or enable advanced features like early serial console. This is essential for fine-tuning hardware support, troubleshooting, or optimizing system startup behavior.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd BOOT01

Storage

Install to internal media, ZFS, NFS, read-only rootfs

Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

Install

This section provides an option to transfer the live running Armbian system from an SD card to internal storage devices such as eMMC, SATA, NVMe, or USB drives. It prepares the target storage, copies the active system, adjusts bootloader settings, and ensures the system can boot independently without requiring reinstallation.

Status: Preview
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd STO001

Read Only FS

Enable read only filesystem

Read-only filesystem is enabled using overlayroot, a utility that places a temporary writable layer over the system root filesystem. Changes made during runtime are redirected into RAM or an alternative writable storage, while the underlying system remains untouched. This ensures that after a reboot, the system returns to a clean original state. It’s ideal for kiosks, appliances, SD card-based systems, and scenarios where long-term filesystem durability and recovery are critical.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd ROO001
Disable read only filesystem:
armbian-config --cmd ROO002

NFS

Enable Network filesystem (NFS) support

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd NETF01
Disable Network filesystem (NFS) support:
armbian-config --cmd NETF02
NFS server

Enable network filesystem (NFS) daemon

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd NETF04
Configure network filesystem (NFS) daemon:
armbian-config --cmd NETF05
Remove network filesystem (NFS) daemon:
armbian-config --cmd NETF06
Show network filesystem (NFS) daemon clients:
armbian-config --cmd NETF07
Find NFS servers

Find NFS servers in subnet and mount shares

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd NETF09
Show and manage NFS mounts:
armbian-config --cmd NETF10

ZFS

ZFS filesystem - enable support

ZFS

ZFS is an advanced, high-performance file system and volume manager designed for data integrity, scalability, and ease of use. It offers features like copy-on-write snapshots, native compression, data deduplication, automatic repair, and efficient storage pooling. Originally developed by Sun Microsystems, ZFS is ideal for handling large amounts of data reliably with minimal maintenance.

When enabling ZFS support, Armbian checks if the running kernel can support ZFS, installs matching kernel headers if necessary, and builds the ZFS DKMS (Dynamic Kernel Module Support) module automatically.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd ZFS001
Key Features
Data Integrity
  • Copy-on-Write (CoW): Prevents data corruption by never overwriting live data.
  • Checksumming: Detects and corrects silent data corruption (bit rot).
Storage Management
  • Pooled Storage: Eliminates the need for traditional partitions; all storage is managed dynamically.
  • Snapshots & Clones: Creates instant backups without using extra storage.
Performance & Scalability
  • Efficient Compression & Deduplication: Reduces storage usage without performance loss.
  • Dynamic Striping & Caching: Distributes data across multiple disks for optimized read/write speeds.
Advanced Security
  • Native Encryption: Supports dataset-level encryption for secure data storage.
  • RAID-Z: A superior RAID alternative that prevents write-hole issues.
ZFS filesystem - remove support:
armbian-config --cmd ZFS002

SSH daemon

Manage SSH daemon options, enable 2FA

Native

Disable root login

Native

Manage native SSH daemon allows you to configure SSH server settings such as login security, authentication methods, and connection restrictions. It also enables setting up Two-Factor Authentication (2FA) to further secure SSH access using time-based codes (TOTP), adding an extra layer of protection beyond passwords.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd ACC001
Enable root login:
armbian-config --cmd ACC002
Disable password login:
armbian-config --cmd ACC003
Enable password login:
armbian-config --cmd ACC004
Disable Public key authentication login:
armbian-config --cmd ACC005
Enable Public key authentication login:
armbian-config --cmd ACC006
Disable OTP authentication:
armbian-config --cmd ACC007
Enable OTP authentication:
armbian-config --cmd ACC008
Generate new OTP authentication QR code:
armbian-config --cmd ACC009
Show OTP authentication QR code:
armbian-config --cmd ACC010
Disable last login banner:
armbian-config --cmd ACC011
Enable last login banner:
armbian-config --cmd ACC012

Containerised

Sandboxed & containerised SSH server

Containerised

Sandboxed & containerised SSH server allows ssh access without giving keys to the entire server. Giving ssh access via private key often means giving full access to the server. This container creates a limited and sandboxed environment that others can ssh into. The users only have access to the folders mapped and the processes running inside this container.

Status: Stable
Architecture: x86-64 arm64
Maintainer: @igorpecovnik
Documentation: Link

armbian-config --cmd SSH001
  • ssh username@<your.IP> -p 2222
  • Install directory: /armbian/openssh-server
  • Configuration directory: /armbian/openssh-server/config
  • Shared storage directory: USER_DEFINED
Bash
docker logs -f openssh-server
Remove sandboxed SSH server:
armbian-config --cmd SSH002
Purge sandboxed SSH server with data folder:
armbian-config --cmd SSH003

Shell and MOTD

Change shell, adjust MOTD

Change shell

Change shell system wide to ZSH

Change shell

ZSH is a powerful and customizable shell designed to be an enhanced replacement for BASH. When combined with Oh My Zsh, which is integrated in armbian-zsh, it offers an extensive plugin system, beautiful themes, and productivity features like autosuggestions, syntax highlighting, and easier navigation.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd SHELL1
Change shell system wide to BASH:
armbian-config --cmd SHELL2

Adjust MOTD

Adjust welcome screen (motd)

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd MOTD01

OS updates and distribution upgrades

Status: Active

Firmware

Enable Armbian firmware upgrades

Firmware

Enable Armbian firmware upgrades manages whether the Armbian firmware (kernel + u-boot + firmware) packages are held or unheld in the package manager. By removing or setting the hold, it controls if firmware updates are applied automatically through regular apt update and apt upgrade processes. This allows users to either freeze the firmware version for stability or enable updates for improved hardware support.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd UPD001
Disable Armbian firmware upgrades:
armbian-config --cmd UPD002

Rolling

Switch system to rolling packages repository

The daily rolling repository offers frequently updated packages directly from development branches. It provides access to the latest features, bug fixes, and hardware support improvements but may introduce instability or regressions. This channel is intended for testing, development, and users who need the newest updates at the cost of reduced stability.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd ROLLIN

Stable

Switch system to stable packages repository

The stable repository provides thoroughly tested packages intended for production use. Updates from this channel prioritize stability, long-term reliability, and minimal risk, ensuring systems remain secure and operational without unexpected changes. Only critical bug fixes and essential improvements are introduced after extensive testing.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd STABLE

Docker images

Enable automating Docker container base images updating

Docker images

Watchtower is a lightweight tool that automatically monitors and updates running Docker containers whenever a new image version becomes available. It checks remote registries for updated images, pulls them, stops the old containers, and restarts them using the updated versions — all without manual intervention. Watchtower is fully configurable, allowing you to control update frequency, select specific containers, and manage notification settings.

Status: Stable
Architecture: x86-64 arm64
Maintainer: @igorpecovnik
Documentation: Link

armbian-config --cmd WTC001
Disable automating Docker container base images updating:
armbian-config --cmd WTC002

Packages

Enable automatic package updates.

Packages

Unattended upgrades automatically install security updates and important package updates on your system without requiring manual intervention. It helps keep your system secure, stable, and up-to-date by silently applying patches. The behavior is fully configurable — you can control which packages are upgraded, set reboot options, and customize notifications or logging.

Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link

armbian-config --cmd UNAT01
Configure automatic package updates:
armbian-config --cmd UNAT02
Disable automatic package updates:
armbian-config --cmd UNAT03