[Guide] 🖥️ Arch Linux Installer on Edge 2 ✨

image Arch Linux Installers for Khadas Edge Boards 8a789c17e387b5ef5db1ea81de5bf61745d3aded

image Arch Linuximage Mini Arch21 BredOS
:backhand_index_pointing_right:t3: Deep Guide for Arch Linux image by @boogiepop


image Linux UEFI

image EDK2 UEFI
a1 Arch Linux Generic UEFI


1us 1usOS by @kwankiu
d7og0t1swue81 EndeavourOS ARM by @Pudge
image Manjaro by @Spikerguy
212 Kruescue Arch Linux by Khadas d1

  • Move it to your usb drive plug it into edge 2 boot 8wow via (function key + rest) + function key > Install your file on ‘write to emmc’ inside 8wow.

:fire: Arch Linux ARM (ALARM) – Major Issues & Workarounds :point_down:t2:

  • :high_voltage: ALARM is not officially supported by Arch Linux. Expect inconsistencies.
  • :globe_with_meridians: Mirror reliability is a common issue. You may frequently need to change mirrors.

Update your mirrors using rate-mirrors :

rate-mirrors arch
# Then manually edit if needed:
# sudo nano /etc/pacman.d/mirrorlist

:puzzle_piece: WiFi USB Issue on First Reboot After Installation

  • During initial setup, the installer may reboot before completing configuration , and:
    • Your WiFi USB adapter will not auto-reconnect .
    • The process appears stuck or broken.

:white_check_mark: Fix :
Simply hot unplug and replug the WiFi USB dongle .
The system will detect it and reconnect automatically, allowing the installation to continue.


🖱️Pacman & Arch-Based System Maintenance Tips ▼

:wrench: Essential Pacman Commands

Check and edit your Pacman repositories:

sudo nano /etc/pacman.conf

Initialize and refresh keyring:

sudo pacman-key --init
sudo pacman-key --populate
sudo pacman-key --refresh-keys
sudo pacman -S archlinux-keyring

Fix locked database issues:

sudo rm /var/lib/pacman/db.lck

Verify installed Linux firmware packages:

pacman -Q | grep linux-firmware

:high_voltage: System Performance & DE Fixes

Set SoC governor to performance mode:

acu soc performance

Fix missing icons in some desktop environments:

sudo pacman -S librsvg

Force reinstall and overwrite all files (last-resort system fix):

sudo pacman -S --overwrite "*" $(pacman -Qqn)

:globe_with_meridians: Chromium Browser Tweak

Enable GTK4 support in Chromium:

sudo nano /etc/chromium.d/default-flags

Add this line:

export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --gtk-version=4"

:backhand_index_pointing_right:t3: ARM Configuraton Utility aka ACU


ACU is a community-built tool designed for managing configurations and packages on Arch Linux ARM (still in beta development).

  • Type - 'acu' - acu install app -y # -y will work as expected ex: acu -y install chromium
  • Try acu --update=dev for the dev branch. Try acu -u and acu update for that updated status.
  • For everyone: bash <(curl -fsSL https://raw.githubusercontent.com/kwankiu/acu/main/acu) -u

Web Browser

This guide shows how to install the Chromium browser with or without Rockchip MPP support, including Flatpak alternatives.

:rocket: Chromium with Rockchip MPP Support

Install the version optimized for Rockchip hardware acceleration :

acu install chromium -y

:package: Arch Linux Official Chromium

Install the latest official Chromium from the Arch Linux repositories:

acu -y install extra/chromium

:package: Chromium via Flatpak (Cross-Distro)

Set up Chromium using Flatpak :

acu install flatpak -y
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak install flathub org.chromium.Chromium -y
sudo flatpak update -y

:white_check_mark: Flatpak ensures a sandboxed, up-to-date Chromium experience across most Linux distributions.


🪁 Fan options

:hammer_and_wrench: Non-GPIO Fan Fix for Arch Linux

:backhand_index_pointing_right: Note: The current kernel already includes this fix, but I’m leaving the instructions here for future reference.

:package: Clone and Set Up the Fan Control Script

git clone https://github.com/XZhouQD/Rock5B_Naive_Pwm_Fan
cd Rock5B_Naive_Pwm_Fan/
cp fan_pwm /usr/local/bin/
chmod +x /usr/local/bin/fan_pwm
cp fan_pwm.service /etc/systemd/system/
systemctl daemon-reload
systemctl start fan_pwm
systemctl enable fan_pwm

:white_check_mark: This will install and enable the custom fan controller.

:wind_face: Manual Fan Management

Prevent the system from automatically controlling the fan:

sudo pacman -S i2c-tools --noconfirm
echo user_space | sudo tee /sys/class/thermal/thermal_zone0/policy
sudo i2cset -y -f 2 0x18 0x8A 0x20

Fan Speed Reference:

  • 0x41 = 50%
  • 0x64 = 100%

Wifi and BT Tricks

:antenna_bars: Wi-Fi & Bluetooth Setup for Intel AX210 (Firmware Installation Example)

:warning: Note: An Ethernet connection is required to install the necessary firmware for AX210 Wi-Fi and Bluetooth functionality.

:satellite_antenna: Wi-Fi Firmware Installation

Download and install the Wi-Fi firmware:

# Download AX210 Wi-Fi firmware
sudo wget -P /lib/firmware https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-ty-a0-gf-a0-59.ucode

# Backup existing PNVM firmware file (if present)
sudo mv /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.bak

:blue_circle: Bluetooth Firmware Installation

Download the Bluetooth firmware files:

# Download Intel Bluetooth firmware files
sudo wget -P /lib/firmware/intel https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/ibt-0041-0041.sfi
sudo wget -P /lib/firmware/intel https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/intel/ibt-0041-0041.ddc

:hammer_and_wrench: Bluetooth Module Fix for Intel Wi-Fi/BT

  1. Open the blacklist configuration file:
sudo nano /etc/modprobe.d/blacklist.conf
  1. Add the following lines (you can place them at the bottom of the file):
blacklist pgdrv
blacklist btusb
blacklist btrtl
blacklist btbcm
#blacklist btintel
  1. Save and exit:
  • Press Ctrl + X , then Y , and hit Enter .

:white_check_mark: Final Bluetooth Setup

:package: Note: Installing bluez or bluetooth is not required on the latest versions of Arch Linux.

# Check Bluetooth service status
systemctl status bluetooth

# Start Bluetooth service
systemctl start bluetooth

:repeat_button: Reboot your system to apply all changes.


📢 Audio options

:speaker_high_volume: Bluetooth Audio Setup Tutorial (Optional)

:warning: Note: This is generally not required on newer kernels, but can be helpful if you’re experiencing issues with Bluetooth audio.

:backhand_index_pointing_right: The following steps offer useful information for troubleshooting or improving Bluetooth audio support.

:headphone: Install Required Audio Packages

acu install pulseaudio pulseaudio-alsa pavucontrol pulseaudio-bluetooth pulseaudio-equalizer paprefs

:play_button: Start PulseAudio

pulseaudio --start

:repeat_button: Switch from PulseAudio to PipeWire

# Reload user services
systemctl --user daemon-reload

# Disable PulseAudio services
systemctl --user --now disable pulseaudio.service pulseaudio.socket

# Enable PipeWire and PipeWire-Pulse
systemctl --user --now enable pipewire pipewire-pulse

:information_source: Verify Audio Server

pactl info

:repeat_button: Final Step

Reboot your system:

reboot

💽 Flashing Software

:fire: Flashing Images via Rockchip Dev Tools App

This guide explains how to flash images using rkdevtools on Windows , and also includes a short terminal-based guide for flashing via SPI .

:floppy_disk: Image Preparation

  1. Decompress Images
    Use WinRAR to decompress .img.xz files to .img . Do not use the Windows “Extract All” option.

:memo: Flashing via Rockchip Dev Tools

  1. Tick ‘Write by Address’
  1. For SPI
  • Select SPINOR and use the Loader Image for flashing.

:backhand_index_pointing_right:t3: Follow Khadas Utils


:repeat_button: Flash OOWOW Back to Khadas Edge2

OOWOW is Khadas’ embedded service for system installation and maintenance. Here’s how to reflash it to SPI:

:gear: Reflash Instructions

  1. Download the OOWOW Image
curl -LO https://dl.khadas.com/products/edge2/firmware/oowow/edge2-oowow-latest-spi.img.gz
  1. Decompress the Image
gzip -d edge2-oowow-latest-spi.img.gz
  1. Flash to SPI

:warning: Warning: This will overwrite your SPI flash. Make sure you want to reset OOWOW.

sudo dd if=/dev/zero of=/dev/mtdblock0
sudo dd if=edge2-oowow-latest-spi.img of=/dev/mtdblock0

:compass: More Resources


🥛 App Manager Hubs

:shopping_bags: App Management on Linux

:package: FlatHub: Access Hundreds of Linux Apps and Games

Set up Flatpak and add the FlatHub repository:

acu -y install flatpak
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak update -y

:white_check_mark: This gives you access to a wide selection of apps and games available on FlatHub.

:toolbox: Bauh: Manage Apps from Multiple Sources

Install Bauh , a graphical package manager that supports Flatpak, AppImage, Snap, AUR, and more:

acu -y install bauh

:desktop_computer: Bauh provides a unified interface to manage packages from different ecosystems.

panel-themes


🎢 Package Managers Builders ⌨️
🐧 Universal Package Management (UPT)▼

“One command to manage all the packages on all the distributions.”

:wrench: Install Dependencies

sudo pacman -S gcc make rustup

:rocket: Install UPT

rustup default stable
cargo install upt

:hammer_and_wrench: Add Cargo to PATH

Edit your bash profile:

nano ~/.bash_profile

Add this line:

export PATH="$PATH:$HOME/.cargo/bin"

Then reboot your system:

sudo reboot

:white_check_mark: You can now use commands like sudo upt update , sudo upt upgrade , and more.


🥤YaY - Yet another Yogurt:▼

An AUR helper written in Go.
Unlike pacman , Yay installs packages from both the official repos and the AUR.

:package: Install Yay

sudo pacman -Syu
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay --version

🏝️ Paru – Minimal AUR Helper ▼

A modern, user-friendly AUR helper with low interaction and many features.

:package: Install Paru

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

👊🏼 AGR - Arch Git Repositories:▼

🧠 ARB – Package/Repo Builder by 7Ji:▼

ARB is a package builder - repo builder


Graphics Acceleration / Performance

:desktop_computer: Panfrost Graphics Tuning (Wayland) with LiuJianFeng & PPA Fork

This section covers performance tuning for CPU, GPU, NPU, and DDR on systems using Panfrost graphics and Wayland , including the OpenCL runtime ( libmali ).

:gear: Manually Set Performance Governors

Edit or manually apply performance settings to optimize system responsiveness:

# Optional: View current DDR governor
sudo nano /sys/class/devfreq/dmc/governor

# Set performance mode for CPU, GPU, DDR, and NPU
echo performance | sudo tee /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
echo performance | sudo tee /sys/class/devfreq/fb000000.gpu/governor
echo performance | sudo tee /sys/class/devfreq/dmc/governor
echo performance | sudo tee /sys/class/devfreq/fdab0000.npu/governor

:rocket: Apply SoC-Wide Performance Mode

Use the acu tool to enforce performance mode across the system-on-chip:

acu soc set performance

:white_check_mark: This ensures all subsystems (CPU, GPU, DDR, NPU) operate under the performance governor.


Android on Linux
acu install waydroid -y


🎮 Steam

:video_game: Steam Setup on BredOS (Multilib Support)

Install Steam and configure it for your specific GPU setup by BredOS using the acu tool.

:toolbox: Step 1: Add BredOS Multilib Repository

acu rem set BredOS-multilib https://repo.bredos.org/repo/$repo/$arch pacman
acu update

:video_game: Step 2: Install Steam

acu install BredOS-multilib/steam

:gear: Step 3: Library Selection (Choose Based on Your GPU)

During installation, you’ll be prompted to select a Vulkan/Steam runtime library:

  • :1234: Option 5: lib32-vulkan-swrast
    (For general compatibility or fallback software rendering)
  • :leopard: Option 1: steam-libs-any
    (Recommended for Panthor users)
  • :panda: Option 2: steam-libs-rk3588
    (Recommended for Panfork or RK3588 devices)

:rocket: Step 4: Run Games with Improved Compatibility

In Steam Settings → Game Launch Options , use the following flag to improve compatibility:

-force-opengl

:white_check_mark: Also make sure you’re running games with the latest non-experimental Proton version.


:desktop_computer: Desktop Ricing #Unixporn


🛠️ Tweaks and Shell Extensions 🔧

:hammer_and_wrench: Install GNOME Tweaks and Extension Tools

acu install gnome-tweaks gnome-shell-extensions gnome-browser-connector fakeroot git dpkg --noconfirm

:wrench: Open GNOME Tweaks

Launch Tweaks , and under the “Titlebar” section:

  • :white_check_mark: Enable Titlebar Buttons (e.g., minimize/maximize)

:roll_eyes: (Why is this even disabled by default…)

:puzzle_piece: Install and Manage Extensions

Visit extensions.gnome.org to browse and install GNOME Shell extensions.

You can now install popular extensions like:

image
image


Rice your Desktop

:artist_palette: Rice Your Desktop – Themes, Icons, and Shell Style

Customize the look and feel of your Linux desktop using themes, icon packs, and wallpapers.

:package: Step 1: Download Customization Files

Save them to your Downloads directory.

:file_folder: Step 2: Extract Themes and Icons

cd Downloads

# Extract theme
sudo tar -xf Graphite-teal-nord-rimless.tar.xz -C /usr/share/themes

# Extract icon pack
sudo tar -xf Zafiro-Nord-Black.tar.xz -C /usr/share/icons

# Optional: Use another theme
sudo tar -xf Cold-Metal-No-Logo-GTK.tar.xz -C /usr/share/themes

:open_file_folder: Step 3: Create User Theme & Icon Folders (If Needed)

mkdir -p ~/.themes ~/.icons

:locked_with_key: You can also change ownership/permissions if needed for easier access:

sudo chown -R $USER:$USER ~/.themes ~/.icons

:puzzle_piece: Step 4: Enable User Themes Extension

Use GNOME Tweaks and GNOME Shell Extensions to enable the User Themes extension.

:control_knobs: Step 5: Apply Themes in GNOME Tweaks

  1. Open the Tweaks application
  2. Go to the “Appearance” section
  3. Select your desired:
  • Applications theme
  • Shell theme
  • Icon pack
  • Cursor

:tada: Your desktop is now riced and stylish!


Your Login Manager

:locked_with_key: Your Login Manager – SDDM Setup & Theming

Set up and personalize your Linux login experience using SDDM , the Simple Desktop Display Manager.

:hammer_and_wrench: Install SDDM with Qt6 Features

acu -y install sddm qt6-svg qt6-virtualkeyboard qt6-multimedia-ffmpeg

:counterclockwise_arrows_button: Enable SDDM and Disable Other Display Managers

Make sure only SDDM is active to ensure proper functionality:

sudo systemctl disable display-manager.service
sudo systemctl enable sddm

:artist_palette: Test Your SDDM Themes (Before Applying)

Preview how themes will look with the greeter:

sddm-greeter --test-mode --theme /usr/share/sddm/themes/maya
sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/sddm-astronaut-theme

:rocket: Install the Astronaut Theme by KeyitDev

The Astronaut Theme is one of the best and most polished SDDM themes available.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/keyitdev/sddm-astronaut-theme/master/setup.sh)"

:light_bulb: KeyitDev’s work delivers an elegant, modern login experience.

sudo git clone https://github.com/JaKooLit/simple-sddm-2.git /usr/share/sddm/themes/simple-sddm-2
echo "[Theme]
Current=simple-sddm-2" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/simple-sddm-2

sudo git clone https://github.com/RadRussianRus/sddm-slice.git /usr/share/sddm/themes/sddm-slice
echo "[Theme]
Current=sddm-slice" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/sddm-slice

SteamOS Theme

sudo git clone https://github.com/JiayuanWen/sddm-sugar-steamOS.git /usr/share/sddm/themes/sddm-sugar-steamOS
echo "[Theme]
Current=sddm-sugar-steamOS" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/sddm-sugar-steamOS

sudo git clone https://github.com/Match-Yang/sddm-deepin.git
cd sddm-deepin
bash ./install.sh
sddm-greeter --test-mode --theme /usr/share/sddm/themes/deepin

sudo git clone https://github.com/Michal-Szczepaniak/sddm-theme-amadeus.git /usr/share/sddm/themes/sddm-theme-amadeus
echo "[Theme]
Current=sddm-theme-amadeus" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/sddm-theme-amadeus

sudo git clone https://github.com/m-wynn/sddm_wynn-theme.git /usr/share/sddm/themes/sddm_wynn-theme
echo "[Theme]
Current=sddm_wynn-theme" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/sddm_wynn-theme

sudo git clone https://github.com/3ximus/abstractdark-sddm-theme.git /usr/share/sddm/themes/abstractdark-sddm-theme
echo "[Theme]
Current=abstractdark-sddm-theme" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/abstractdark-sddm-theme

sudo git clone https://github.com/AlfredoRamos/urbanlifestyle-sddm-theme.git /usr/share/sddm/themes/urbanlifestyle-sddm-theme
echo "[Theme]
Current=urbanlifestyle-sddm-theme" | sudo tee /etc/sddm.conf
sddm-greeter --test-mode --theme /usr/share/sddm/themes/urbanlifestyle-sddm-theme

Source KDE themes
Source KDE themes
Github for SDDM themes


Your Linux Terminal

:hammer_and_wrench: Installing Zsh and Oh My Zsh

1. Install Zsh and set it as the default shell:

sudo acu install zsh nano -y
chsh -s $(which zsh)

2. Install Oh My Zsh :

Run the following command to install Oh My Zsh :

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

When prompted, type Y to set Oh My Zsh as your default shell. This will also create a ~/.zshrc file in your home directory. You can edit this file later.

:counterclockwise_arrows_button: Make Zsh the Default Shell for Bash

If you’re still using Bash, you can set Zsh as the default by running:

echo 'exec /usr/bin/zsh' >>~/.bashrc

:collision: Install Powerlevel10k Theme

  1. Clone the Powerlevel10k repository :
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
  1. Add the Powerlevel10k theme to your ~/.zshrc
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
  1. Change Zsh theme :Open your ~/.zshrc file:
nano ~/.zshrc

Change the ZSH_THEME line to:

ZSH_THEME="powerlevel10k/powerlevel10k"

Save and exit by pressing Ctrl + X , then Y .

:rocket: Final Steps

  1. Open a new terminal window with Ctrl + T and type zsh .Your terminal should now look something like this:

:gear: Configure Powerlevel10k

To enter the Powerlevel10k configuration wizard, run:

p10k configure

:counterclockwise_arrows_button: Update Powerlevel10k

To update Powerlevel10k , run:

git -C ~/powerlevel10k pull

:stop_sign: Uninstalling Zsh and Oh My Zsh

If you want to remove Zsh , Oh My Zsh , and Powerlevel10k :

  1. Remove Installations & Configurations :
sudo rm -f ~/.p10k.zsh
sudo rm -rf -- ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sudo sh ~/.oh-my-zsh/tools/uninstall.sh -y
  1. Remove Zsh and related packages :
sudo pacman -Rns zsh
  1. Delete Zsh Configuration Files :
sudo rm -Rf ~/.zsh*

With this setup, your terminal should now look sleek and modern with the Powerlevel10k theme. Enjoy!


Desktop Environments

Explore alternative desktop environments tailored for ARM devices. For full documentation, visit:
:open_book: Archcraft ARM Wiki

:glowing_star: Archcraft ARM – Minimal & Elegant

main

acu -y install yay
curl -LO https://github.com/archcraft-os/archcraft-arm/releases/download/1.0/archcraft-arm.tar.gz
tar -xzvf archcraft-arm.tar.gz
cd archcraft-arm

# Optional: customize install script
nano customize.sh

# Default user/pass: archcraft
sudo ./install.sh

:artist_palette: Extra Openbox Themes

git clone https://github.com/addy-dclxvi/openbox-theme-collections
sudo cp -r $HOME/openbox-theme-collections/* $HOME/.config/openbox/themes

:hammer_and_wrench: Fix Polybar Modules in Themes

For example, in the “default” Openbox theme:

  1. Open the Polybar config file:
nano ~/.config/openbox/themes/default/polybar/config.ini
  1. Find the line:
modules-right = battery dot ...
  1. Replace it with:
modules-right = temperature dot volume dot network dot LD sysmenu RD

:test_tube: Pixarch (Experimental)

:package: A still-in-development desktop environment.
:construction: May contain bugs – use with caution.

acu -y install yay
git clone https://github.com/heisenburgh/pixarch.git
cd pixarch/installation_scripts
./install.sh

:milky_way: JaKooLit – Arch Hyprland Setup

A Hyprland-based Arch experience with custom styling.

acu -y install yay
git clone --depth=1 https://github.com/JaKooLit/Arch-Hyprland.git ~/Arch-Hyprland
cd ~/Arch-Hyprland
chmod +x install.sh
./install.sh

:memo: Keybinding Note:
Hyprland environments often require changing the modifier key:

# Look for:
nano ~/.config/hypr/hyprland.conf
nano ~/.config/hypr/configs/Keybinds.conf

# Change from:
$mainMod = SUPER

# To:
$mainMod = FN+SUPER


xcv33 Cloud Gaming is perfect for SBC’s: e9773bba7aa7129a388b5934227b855c7a3501d807dec2fedb9041a680c615f4300eeb00993d20480735f9dba78876a26f3d97dca75f1f6a07dfaac0f750d0bcb0e83db64b707892fa7a085483fac8dfca291f6c4f282bb2058c9b3d29dbfc9da1388d10


x31 Khadas Discord c111


4 Likes