System wide and admin settings¶
Hardware¶
Alternative kernels, headers, overlays, bootenv
Alternative kernels¶
Use 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:
- Back up your system to prevent data loss.
- Verify compatibility of your hardware and essential drivers with the target kernel version.
- 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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd KER001
Kernel Headers¶
Install Linux 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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd HEAD01
| Remove Headers: | |
|---|---|
Device Tree Overlays¶
Manage 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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd DTO001
Device Tree Editor¶
Edit device tree
The Device Tree Editor allows you to decompile, edit, and recompile device tree blobs (DTB) directly on your system. Device trees describe the hardware layout of your board to the Linux kernel. This tool provides a safe way to modify DTB files by decompiling them to human-readable DTS source, opening them in a text editor, validating the changes, and recompiling back to binary format.
Incorrect device tree changes can prevent your system from booting!
- Modifying the device tree can cause hardware to stop functioning or the system to fail to boot entirely.
- Always verify your changes carefully before applying them.
- A backup is created automatically before any modification, and can be restored from the module menu.
- Keep a rescue method available, such as a bootable SD card or serial console access, to recover the system if necessary.
Edit: footer header
Status: Preview
Architecture: aarch64 armhf
Maintainer: @igorpecovnik
Documentation: Link
armbian-config --cmd DTE001
- Select and edit any DTB file from the device tree directory
- Edit active DTB directly based on the
fdtfilesetting in/boot/armbianEnv.txt - Automatic backups before every modification with timestamped filenames
- Restore from backup to revert to a previous device tree
- Validation of edited DTS source before applying changes
- View device tree info including model, compatible strings, and DTC version
- Package:
device-tree-compiler(installed automatically if missing) - Device tree directory:
/boot/dtb/
Backups are stored in /boot/dtb/backup/ with the naming format:
| Text Only | |
|---|---|
Odroid Boards Config¶
Select Odroid board configuration
Edit: footer header
Status: Preview
Architecture: armhf
armbian-config --cmd ODR001
Boot Environment¶
Edit the 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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd BOOT01
Desktop¶
Install, remove and configure desktop environments
Armbian desktop installation uses upstream meta-packages from Debian and Ubuntu repositories, making it distro-agnostic and independent of pre-built Armbian desktop packages.
Tiered installs
Every desktop ships at one of three sizes. You can install at any tier and switch between tiers later without uninstalling.
| Tier | Contents | Approximate size |
|---|---|---|
| Minimal | Desktop environment + display manager + base utilities. No browser, no office suite. | ~500 MB |
| Mid | Minimal plus a browser, text editor, calculator, image and PDF viewer, media player, archive manager and torrent client. | ~1 GB |
| Full | Mid plus LibreOffice, GIMP, Inkscape, Thunderbird and Audacity. | ~2.5 GB |
The browser shipped at mid and full tiers is chosen automatically: chromium on Debian, firefox-esr on Debian riscv64, and epiphany-browser on Ubuntu (Ubuntu’s chromium and firefox packages are snap-shim wrappers that don’t work without snapd, which Armbian doesn’t ship).
How it works
- Installs the desktop meta-package (e.g.
xfce4,gnome-session) plus the per-tier extras and any release-specific packages your distribution needs. - Tracks every package the install pulls in. The list is saved to
/etc/armbian/desktop/<de>.packages, the chosen tier to/etc/armbian/desktop/<de>.tier. Uninstall and downgrade use these files so they only ever remove packages the desktop install added ā packages you installed manually after the fact are never touched. - Applies Armbian branding: wallpapers, icons, login screen theme, and default user settings.
- Configures the display manager (LightDM, GDM3 or SDDM) with auto-login enabled by default. You can disable auto-login from the desktop menu without removing the desktop.
- Sets up Profile Sync Daemon (psd) to keep browser profiles in RAM, reducing flash media wear.
- Removes a small set of unwanted extras pulled in by some meta-packages (e.g. Ubuntu’s
apportcrash reporter, snap-related stubs).
Switching tiers after install
You don’t need to reinstall to add or remove tier extras. The desktop menu offers “Change desktop to tier” entries for any tier other than the one currently installed. Behind the scenes:
- Going up (minimal ā mid ā full) installs only the new packages introduced by the higher tier.
- Going down (full ā mid ā minimal) removes only the packages the install added that aren’t in the lower tier. Your manually-installed packages are not touched.
Networking
Some desktops (notably GNOME) require NetworkManager. When installed, NetworkManager is configured to coexist with Armbian’s existing systemd-networkd: wired Ethernet stays managed by systemd-networkd, while NetworkManager handles WiFi and VPN connections. This avoids disrupting your existing network configuration.
Supported desktops
| Desktop | Best for | Approximate RAM (minimal tier) |
|---|---|---|
| XFCE | Single board computers, low-end hardware | ~300 MB |
| GNOME | Modern desktops, touchscreen devices | ~800 MB |
| Cinnamon | Users familiar with Windows layout | ~500 MB |
| MATE | Classic GNOME 2 fans, low-resource systems | ~350 MB |
| KDE Plasma | Power users, heavy customization | ~600 MB |
| i3-wm | Developers, keyboard-driven workflows | ~150 MB |
| Xmonad | Haskell tiling window manager | ~120 MB |
| Enlightenment | EFL-based, lightweight and stylish | ~250 MB |
Mid and full tiers add roughly 500 MB and 2 GB on top of these minimum figures, depending on which tier extras your release/architecture combination ships.
Desktop installation is resource-intensive
Installing a desktop environment will download and install a large number of packages. The full tier on a fresh Ubuntu image pulls in roughly 2.5 GB and may take a significant amount of time depending on your internet connection and device performance. A reboot is required after installation.
Running module_desktops remove reclaims the disk space; apt-get clean is run automatically as part of the remove path.
Switching desktops
Only one desktop environment should be installed at a time. Remove the current desktop before installing a different one to avoid package conflicts and mixed configurations.
Cinnamon¶
Install Cinnamon (minimal)
Cinnamon is a Linux desktop environment that provides advanced innovative features and a traditional user experience. The desktop layout is similar to GNOME 2 with underlying technology forked from GNOME Shell. Cinnamon makes users feel at home with an easy-to-use and comfortable desktop experience.
Edit: footer header
Status: Stable
armbian-config --cmd CINM01
Cinnamon uses LightDM as its default display manager.
/usr/share/xsessions/cinnamon.desktop/usr/share/xsessions/cinnamon2d.desktop
Autologin configuration is stored in:
/etc/lightdm/lightdm.conf.d/22-armbian-autologin.conf
| Cinnamon mid: | |
|---|---|
| Cinnamon full: | |
|---|---|
| Uninstall Cinnamon: | |
|---|---|
| Enable autologin (Cinnamon): | |
|---|---|
| Disable autologin (Cinnamon): | |
|---|---|
| Change Cinnamon to minimal: | |
|---|---|
| Change Cinnamon to mid: | |
|---|---|
| Change Cinnamon to full: | |
|---|---|
GNOME¶
Install GNOME (minimal)
GNOME is a modern, user-friendly desktop environment for Linux, offering a clean interface, essential apps, and customization through extensions. It prioritizes simplicity, accessibility, and efficiency.
Edit: footer header
Status: Stable
armbian-config --cmd GNME01
GNOME uses GDM3 as its default display manager.
/usr/share/xsessions/gnome.desktop
Autologin configuration is stored in:
/etc/gdm3/custom.conf
| GNOME mid: | |
|---|---|
| GNOME full: | |
|---|---|
| Uninstall GNOME: | |
|---|---|
| Enable autologin (GNOME): | |
|---|---|
| Disable autologin (GNOME): | |
|---|---|
| Change GNOME to minimal: | |
|---|---|
| Change GNOME to mid: | |
|---|---|
| Change GNOME to full: | |
|---|---|
MATE¶
Install MATE (minimal)
MATE is a continuation of GNOME 2, providing a traditional desktop experience with a classic two-panel layout. It is lightweight, stable, and fully customizable ā a good choice for users who prefer a familiar desktop without the overhead of modern compositing effects.
Edit: footer header
Status: Stable
armbian-config --cmd MATE01
MATE uses LightDM as its default display manager.
/usr/share/xsessions/mate.desktop
Autologin configuration is stored in:
/etc/lightdm/lightdm.conf.d/22-armbian-autologin.conf
| MATE mid: | |
|---|---|
| MATE full: | |
|---|---|
| Uninstall MATE: | |
|---|---|
| Enable autologin (MATE): | |
|---|---|
| Disable autologin (MATE): | |
|---|---|
| Change MATE to minimal: | |
|---|---|
| Change MATE to mid: | |
|---|---|
| Change MATE to full: | |
|---|---|
i3¶
Install i3 (minimal)
i3 is a tiling window manager designed for power users and developers. It is keyboard-driven, highly configurable, and extremely lightweight ā making it ideal for single board computers and headless-to-desktop conversions.
Keyboard shortcuts
i3 is controlled primarily via keyboard. The default modifier key is $mod (Super/Windows key). Press $mod+Enter to open a terminal, $mod+d to launch applications via rofi, and $mod+Shift+e to exit.
Edit: footer header
Status: Stable
armbian-config --cmd I3WM01
i3 uses LightDM as its default display manager.
/usr/share/xsessions/i3.desktop
Autologin configuration is stored in:
/etc/lightdm/lightdm.conf.d/22-armbian-autologin.conf
| i3 mid: | |
|---|---|
| i3 full: | |
|---|---|
| Uninstall i3: | |
|---|---|
| Enable autologin (i3): | |
|---|---|
| Disable autologin (i3): | |
|---|---|
| Change i3 to minimal: | |
|---|---|
| Change i3 to mid: | |
|---|---|
| Change i3 to full: | |
|---|---|
KDE Plasma¶
Install KDE Plasma (minimal)
KDE Plasma is a feature-rich desktop environment with extensive customization options. It provides a familiar taskbar and start menu layout with modern effects, widgets, and a powerful system settings application.
Edit: footer header
Status: Stable
armbian-config --cmd KDEP01
KDE Plasma uses SDDM as its default display manager.
/usr/share/xsessions/plasma.desktop
Autologin configuration is stored in:
/etc/sddm.conf.d/autologin.conf
| KDE Plasma mid: | |
|---|---|
| KDE Plasma full: | |
|---|---|
| KDE Neon: | |
|---|---|
KDE Neon uses SDDM as its default display manager.
/usr/share/wayland-sessions/plasma.desktop/usr/share/xsessions/plasmax11.desktop
Autologin configuration is stored in:
/etc/sddm.conf.d/autologin.conf
| Uninstall KDE Plasma: | |
|---|---|
| Uninstall KDE Neon: | |
|---|---|
| Enable autologin (KDE Plasma): | |
|---|---|
| Enable autologin (KDE Neon): | |
|---|---|
| Disable autologin (KDE Plasma): | |
|---|---|
| Disable autologin (KDE Neon): | |
|---|---|
| Change KDE Plasma to minimal: | |
|---|---|
| Change KDE Plasma to mid: | |
|---|---|
| Change KDE Plasma to full: | |
|---|---|
XFCE¶
Install XFCE (minimal)
Xfce is a lightweight, fast, and user-friendly desktop environment for Linux, offering a classic interface, essential apps, and customization. It prioritizes performance, simplicity, and efficiency, making it an excellent choice for devices with limited resources.
Edit: footer header
Status: Stable
armbian-config --cmd XFCE01
Xfce uses LightDM as its default display manager.
/usr/share/xsessions/xfce.desktop
Autologin configuration is stored in:
/etc/lightdm/lightdm.conf.d/22-armbian-autologin.conf
| XFCE mid: | |
|---|---|
| XFCE full: | |
|---|---|
| Uninstall XFCE: | |
|---|---|
| Enable autologin (XFCE): | |
|---|---|
| Disable autologin (XFCE): | |
|---|---|
| Change XFCE to minimal: | |
|---|---|
| Change XFCE to mid: | |
|---|---|
| Change XFCE to full: | |
|---|---|
Storage¶
Install to internal media, ZFS, NFS, read-only rootfs
Edit: footer header
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
Install¶
Copy the running Armbian system to another device
- Clones your current live OS installation
- Keeps your settings, configuration, installed packages, and user data
- Essentially ātransfer my existing system to internal/external storageā
Use this option to transfer your current live Armbian system to another storage device (eMMC, SSD, USB, etc.). This copies your existing installation exactly as it is ā including settings, installed packages, and user data.
Edit: footer header
Status: Preview
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd STO001
Download and flash¶
Download a fresh, official Armbian OS image and write it to a device
What can this tool do?
- Install Armbian onto internal eMMC, SSD, or other storage
- Create bootable SD cards or USB drives for any supported board
- Recover a system by re-flashing a clean image
- Switch between different OS variants, kernel branches, or preinstalled applications
- Accelerate development with fast, repeatable deployments for testing and automation
Edit: footer header
Status: Preview
Architecture: x86-64 arm64 armhf
Maintainer: @igorpecovnik
armbian-config --cmd FLASH1
| Remove cached images: | |
|---|---|
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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd ROO001
| Disable read only filesystem: | |
|---|---|
NFS¶
Enable Network filesystem (NFS) support
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd NETF01
| Disable Network filesystem (NFS) support: | |
|---|---|
NFS server¶
Enable network filesystem (NFS) daemon
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd NETF04
| Configure network filesystem (NFS) daemon: | |
|---|---|
| Remove network filesystem (NFS) daemon: | |
|---|---|
| Show network filesystem (NFS) daemon clients: | |
|---|---|
Find NFS servers¶
Find NFS servers in subnet and mount shares
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd NETF09
| Show and manage NFS mounts: | |
|---|---|
ZFS¶
ZFS filesystem - enable support
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.
The ARC (Adaptive Replacement Cache) is ZFS’s intelligent caching system.
Recommended Settings:
- ARC Min: 1/8 of RAM (minimum cache size)
- ARC Max: 1/2 of RAM (maximum cache size)
For memory-constrained ARM devices (1-2 GB RAM):
- Consider limiting ARC to 256-512 MB to leave memory for applications
- ARC Max = 0 means “use all available RAM” (may not be ideal for small systems)
Impact:
- Higher ARC = better read performance for frequently accessed data
- Too high ARC can cause system swapping and degraded performance
Dirty data is modified data waiting to be written to disk.
Recommended Setting:
- 4% of RAM (or 4% of ARC size, whichever is smaller)
Impact:
- Higher values = better write performance, more data loss risk on power failure
- Lower values = safer data, more frequent disk writes
TXG (Transaction Group) controls how often ZFS writes changes to disk.
Recommended Setting:
- 5 seconds (default)
Range: 1-30 seconds
Impact:
- Lower (1-3s): Better data safety, more disk writes, lower performance
- Higher (10-30s): Better performance, more data loss risk on power failure
ZFS compression is transparent and can actually improve performance by reducing I/O.
Options:
- lz4: Fast, good compression (recommended for most)
- zstd: Better compression ratio, slightly slower CPU usage
- gzip: Maximum compression, slowest
- off: Disable compression
Note: Compression setting only affects new datasets. Existing datasets keep their compression setting.
Configuration is saved to /etc/modprobe.d/zfs.conf and requires reloading the ZFS module:
The tuning interface includes a “Reset to Defaults” option that:
- Removes custom configuration from
/etc/modprobe.d/zfs.conf - Resets all parameters to ZFS defaults
- Requires module reload to take effect
ZFS pools can be imported when they are not currently mounted. This is useful when:
- Moving pools between systems
- Booting from a different system with ZFS pools present
- Pools were exported and need to be re-imported
Import Options:
- Scan: Lists all available pools that can be imported
- Import with original mount points: Pool datasets mount at their configured locations
- Import with alternate mount point: Pool datasets mount under a custom root directory
Force Import:
The import function uses -f flag to force import, which handles:
- HostID mismatches between systems
- Pool state issues
- Active pools on other systems (use with caution)
Alternate Mount Point:
When importing with an alternate root (altroot):
- Datasets mount under the specified path (e.g.,
/mnt/pool) - Original mount point configuration is preserved
- Useful for temporary access or recovery scenarios
Note: Default behavior is to use the pool’s original mount points for maximum compatibility.
Edit: footer header
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: | |
|---|---|
| Tune ZFS: | |
|---|---|
| Import ZFS Pool: | |
|---|---|
Memory¶
Memory management - enable features
ZRAM is a Linux kernel module that creates compressed RAM-based block devices. It extends available memory by compressing pages and storing them in RAM, giving you more usable memory at the cost of some CPU overhead. On devices with limited RAM, ZRAM can significantly improve system responsiveness and prevent out-of-memory conditions.
When enabling memory management, Armbian installs the zram-config package if not already present, enables the armbian-zram-config service, and configures optimal swappiness settings for ZRAM-based swapping.
Key Features
- Memory Compression: Transparent ZRAM-based swap that extends available memory without application changes
- Parallel Compression: Multiple ZRAM devices utilize all CPU cores for maximum throughput
- Algorithm Choice: Select optimal compression for your hardware (lzo, lz4, zstd, lzo-rle)
- Adaptive Swapping: Swappiness tuned for ZRAM’s in-RAM characteristics
- Memory Overcommitment: Support for swap sizes larger than physical RAM
- Safe Defaults: Sensible defaults based on your system’s memory size
Perfect for ARM-based SBCs, small form-factor PCs, and servers where physical RAM is limited and disk-based swap would cause excessive I/O.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd MEM001
Settings are automatically selected based on system memory:
| System | ZRAM Size | Memory Limit | Swappiness |
|---|---|---|---|
| < 4 GB RAM | 50% | 50% | 100 |
| 4+ GB RAM | 25% | 25% | 80 |
- Max Devices: Set to CPU core count (capped at 8)
- Algorithm: lzo (best for ARM), lz4 (fast on x86), zstd (best ratio, slower)
- ZRAM Percentage (10-300%): Swap space relative to physical RAM. With 50% on a 2GB system you get 1GB of swap, but compression (2:1 to 3:1) effectively holds 2-3GB
- Memory Limit (10-100%): Prevents ZRAM from consuming too much physical RAM. Should generally match ZRAM percentage
- Swappiness (1-100): How aggressively the kernel swaps to ZRAM. Use 80-100 for ZRAM (unlike disk swap where 60 is default)
- Max Devices (1-8): Number of ZRAM devices, usually one per CPU core for parallel compression
- ZRAM not working: Check
systemctl status armbian-zram-configandswapon --show - High CPU usage: Normal during memory pressure. Reduce
ZRAM_PERCENTAGEor switch tolzoalgorithm - Still out of memory: Increase
ZRAM_PERCENTAGE(up to 200-300% for read-heavy workloads) - Algorithm not supported: Run
cat /sys/block/zram0/comp_algorithmto see available options - Changes not applying: Run
systemctl restart armbian-zram-configor reboot
Edit /etc/default/armbian-zram-config directly for advanced options:
| Bash | |
|---|---|
ZRAM backing device - for systems with fast NVMe storage:
Monitoring:
/etc/default/armbian-zram-config: Main ZRAM configuration/etc/sysctl.d/99-armbian-memory.conf: Swappiness and VM parameterszramctl: Show detailed ZRAM device statisticsswapon --show: Display active swap devices including ZRAM
| Memory: | |
|---|---|
| Tune Memory: | |
|---|---|
SSH daemon¶
Manage SSH daemon options, enable 2FA
Native¶
Disable root login
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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd ACC001
| Enable root login: | |
|---|---|
| Disable password login: | |
|---|---|
| Enable password login: | |
|---|---|
| Disable Public key authentication login: | |
|---|---|
| Enable Public key authentication login: | |
|---|---|
| Disable OTP authentication: | |
|---|---|
| Enable OTP authentication: | |
|---|---|
| Generate new OTP authentication QR code: | |
|---|---|
| Show OTP authentication QR code: | |
|---|---|
| Disable last login banner: | |
|---|---|
| Enable last login banner: | |
|---|---|
Containerised¶
Sandboxed & containerised SSH server
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.
Edit: footer header
Status: Stable
Architecture: x86-64 arm64
Maintainer: @igorpecovnik
Documentation: Link
Installation: š³ Docker
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 | |
|---|---|
| Remove sandboxed SSH server: | |
|---|---|
| Purge sandboxed SSH server with data folder: | |
|---|---|
Shell and MOTD¶
Change shell, adjust MOTD
Change shell¶
Change shell system wide to ZSH
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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd SHELL1
| Change shell system wide to BASH: | |
|---|---|
Adjust MOTD¶
Adjust welcome screen (motd)
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd MOTD01
OS Updates¶
OS updates and distribution upgrades
Edit: footer header
Status: Active
Firmware¶
Enable Armbian firmware upgrades
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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd UPD001
| Disable Armbian firmware upgrades: | |
|---|---|
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.
Edit: footer header
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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd STABLE
Stable Distro Upgrade¶
Distribution upgrade to latest stable / LTS
Stable / LTS upgrades move your system to a newer release of Debian or Ubuntu, bringing updated system packages along with long-term security fixes and bug patches. This makes them the safest choice for reliable, everyday use.
Risks of Stable Upgrades
Distribution upgrades are experimental and not supported by Armbian. Use at your own risk.
Even LTS ā LTS upgrades (e.g., Debian Bookworm ā Trixie, Ubuntu Jammy ā Noble) carry some risks:
- Broken dependencies ā some packages may fail to upgrade or be removed.
- Configuration overrides ā local changes may be replaced by defaults.
- Downtime ā failed upgrades may require console access, manual recovery, or a full reinstall.
Because Armbian integrates upstream Debian/Ubuntu with custom board support packages, upgrades may still trigger unexpected breakage on some devices.
Edit: footer header
Status: Stable
armbian-config --cmd STD001
Best Practices
- Back up your data (system and configuration).
- Test on a spare device or SD card before upgrading production systems.
- Read the official release notes of your target distribution:
- Armbian FAQ: Can I upgrade my userspace flavor?
- Debian upgrade notes
- Ubuntu release upgrade guide - Ensure you have console access (serial, HDMI + keyboard, SSH).
- Consider fresh installs if uptime and stability matter more than keeping the old environment.
Unstable Distro Upgrade¶
Distribution upgrade to rolling unstable
Non-LTS releases are intended for developers, testers, and enthusiasts who want the latest features ā not for production systems.
Risks of Unstable Upgrades
Distribution upgrades are experimental and not supported by Armbian. Use at your own risk.
- High chance of breakage ā dependencies, bootloader, or kernel may fail.
- Short lifecycle ā requires frequent re-upgrades (every ~6ā9 months).
- Unfinished features ā packages may be experimental or not fully supported.
- Armbian compatibility ā integration with board support packages is less tested.
Edit: footer header
Status: Stable
armbian-config --cmd UNS001
Docker images¶
Enable automating Docker container base images updating
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.
Edit: footer header
Status: Stable
Architecture: x86-64 arm64
Maintainer: @igorpecovnik
Documentation: Link
Installation: š³ Docker
armbian-config --cmd WTC001
| Disable automating Docker container base images updating: | |
|---|---|
Packages¶
Enable automatic package updates.
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.
Edit: footer header
Status: Stable
Architecture: x86-64 aarch64 armhf riscv64
Maintainer: @armbian
Documentation: Link
armbian-config --cmd UNAT01
| Configure automatic package updates: | |
|---|---|
| Disable automatic package updates: | |
|---|---|




















