A Clean Install of Q4OS Desktop on ARM Device
Administrator guide for installing Q4OS on ARM-based devices including Raspberry Pi and other single-board computers.
Overview
Q4OS provides ARM builds optimized for various ARM-based devices, offering the Trinity Desktop experience on low-power, embedded systems. This guide covers clean installation procedures for supported ARM platforms.
Supported ARM Devices
- Raspberry Pi: Pi 3, Pi 4, Pi 400, Pi 5 (ARMv7/ARMv8)
- Pine64: Pine A64, Rock64, RockPro64
- Odroid: C2, C4, N2, XU4
- Orange Pi: PC, PC Plus, One
- Generic ARM64: Compatible single-board computers
Prerequisites
Required Hardware
- Compatible ARM device (see supported devices list)
- MicroSD card (16GB minimum, Class 10 recommended)
- Power supply appropriate for your device
- HDMI cable and display
- USB keyboard and mouse
- Ethernet cable or WiFi adapter
Required Software
- Q4OS ARM image for your device
- Image writing software (Raspberry Pi Imager, Etcher, dd)
- Computer with SD card reader
Recommended Specifications
- RAM: 2GB minimum, 4GB+ recommended
- Storage: 32GB+ microSD card for better performance
- Network: Gigabit Ethernet or 802.11ac WiFi
Raspberry Pi Installation
Downloading Q4OS for Raspberry Pi
- Visit the Q4OS Downloads page
- Select the appropriate Raspberry Pi image:
- Q4OS ARM for Raspberry Pi 3/4/400 (32-bit)
- Q4OS ARM64 for Raspberry Pi 4/5 (64-bit)
- Download the .img.xz compressed image file
- Verify the download checksum if provided
Using Raspberry Pi Imager (Recommended)
- Download and install Raspberry Pi Imager
- Insert your microSD card into the computer
- Launch Raspberry Pi Imager
- Click "Choose OS" → "Use custom" → Select your Q4OS image file
- Click the gear icon for advanced options:
- Enable SSH (optional)
- Set username and password
- Configure WiFi settings
- Set locale settings
- Select your SD card and click "Write"
- Wait for the writing and verification to complete
Using Etcher (Cross-platform)
- Download and install Balena Etcher
- Extract the Q4OS .img file from the .xz archive
- Launch Etcher
- Select the Q4OS .img file
- Select your SD card (be careful to choose the correct device)
- Click "Flash" and wait for completion
Using dd Command (Linux/macOS)
# Extract the image
unxz q4os-3.xx-armhf-rpicm.img.xz
# Find the SD card device
lsblk # or sudo fdisk -l
# Write the image (replace /dev/sdX with your SD card device)
sudo dd if=q4os-3.xx-armhf-rpicm.img of=/dev/sdX bs=4M status=progress
sudo sync
First Boot Setup
Initial Boot Process
- Insert the prepared SD card into your ARM device
- Connect HDMI, keyboard, mouse, and network
- Connect power supply to boot the device
- Wait for the initial boot and file system expansion
- The system will reboot automatically after expansion
Q4OS Welcome Screen
On first boot, Q4OS will present a welcome screen for initial configuration:
- Select your language and region
- Configure keyboard layout
- Set up network connection (if not configured during imaging)
- Create user account (if not set during imaging)
- Configure system settings
Trinity Desktop Setup
After initial setup, Trinity Desktop will load with ARM-optimized settings:
- Reduced visual effects for better performance
- Optimized memory usage
- ARM-specific hardware acceleration where available
Post-Installation Configuration
System Updates
Update the system after first boot:
sudo apt update
sudo apt upgrade -y
sudo apt autoremove
Hardware-Specific Configuration
Raspberry Pi Configuration
Use raspi-config for Pi-specific settings:
sudo raspi-config
Common configurations:
- Advanced Options → Memory Split: Set to 64MB for desktop use
- Interface Options: Enable SPI, I2C, Camera as needed
- Performance Options: Set GPU memory split
- Localisation Options: Set timezone, WiFi country
GPU Memory Configuration
Edit /boot/config.txt for graphics memory allocation:
sudo nano /boot/config.txt
# Add or modify:
gpu_mem=128
# or for 1GB RAM devices:
gpu_mem=64
Performance Optimization
Swap Configuration
Optimize swap for SD card longevity:
# Reduce swappiness
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
# Consider disabling swap entirely for read-only systems
sudo systemctl stop dphys-swapfile
sudo systemctl disable dphys-swapfile
File System Optimization
Edit /etc/fstab to reduce SD card wear:
sudo nano /etc/fstab
# Add noatime option to reduce writes:
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=100m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=30m 0 0
Other ARM Device Installation
Pine64 Devices
For Pine64 boards (Rock64, RockPro64):
- Download the Pine64-specific Q4OS image
- Write to SD card or eMMC module using dd or Etcher
- Boot and follow the setup wizard
- Configure device-specific features through device tree overlays
Odroid Devices
For Odroid single-board computers:
- Use the appropriate Odroid Q4OS image
- Flash to microSD card or eMMC
- Configure boot parameters in boot.ini if available
- Set up cooling and fan control as needed
Generic ARM64 Installation
For other ARM64 devices:
- Try the generic ARM64 Q4OS image
- Boot from USB or SD card
- Install using the standard Debian installer
- Configure hardware-specific drivers post-installation
Networking Setup
WiFi Configuration
Configure WiFi using NetworkManager GUI or command line:
Using GUI
- Click the network icon in the system tray
- Select your WiFi network
- Enter the password
- Click Connect
Using Command Line
# Scan for networks
sudo iwlist wlan0 scan | grep ESSID
# Connect to network
sudo wpa_passphrase "YourNetworkName" "YourPassword" >> /etc/wpa_supplicant/wpa_supplicant.conf
# Restart networking
sudo systemctl restart networking
Static IP Configuration
Configure static IP through NetworkManager or /etc/network/interfaces:
sudo nano /etc/network/interfaces
# Add static configuration:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
SSH Access
Enable SSH for remote administration:
sudo systemctl enable ssh
sudo systemctl start ssh
# Change default password for security
passwd
Software Installation and Management
ARM-Optimized Software
Install ARM-optimized applications:
# Essential applications
sudo apt install firefox-esr libreoffice
sudo apt install vlc gimp
sudo apt install code-oss # ARM-compatible VS Code
# Development tools
sudo apt install build-essential python3-dev
sudo apt install nodejs npm
sudo apt install git cmake
Pi-specific Software
For Raspberry Pi devices:
# Pi-specific tools
sudo apt install rpi-update
sudo apt install wiringpi
sudo apt install python3-rpi.gpio
# Camera support
sudo apt install raspicam
sudo apt install python3-picamera
Performance Monitoring
Install monitoring tools:
sudo apt install htop iotop
sudo apt install lm-sensors
sudo apt install stress-ng # for testing
Troubleshooting
Boot Issues
- Red LED only: Check power supply and SD card
- Rainbow screen: Corrupted boot partition, re-flash SD card
- Kernel panic: Hardware compatibility issue, try different image
- No HDMI output: Check HDMI cable and display compatibility
Performance Issues
- Slow boot: Use faster SD card (Class 10, U3)
- System lag: Increase GPU memory, disable unnecessary services
- Overheating: Improve cooling, reduce CPU frequency
- Memory errors: Test RAM, check power supply stability
Network Problems
- WiFi not working: Check country code settings
- Ethernet issues: Check cable and network configuration
- DNS problems: Verify DNS server settings
Log Analysis
Check system logs for issues:
# Boot messages
dmesg | less
# System logs
journalctl -b
# Hardware info
lscpu
lsusb
lspci # if available
Advanced Configuration
Overclocking (Raspberry Pi)
Safely overclock for better performance:
sudo nano /boot/config.txt
# Conservative overclock for Pi 4:
over_voltage=2
arm_freq=1750
gpu_freq=500
# Ensure adequate cooling before overclocking
Boot from USB/SSD
Configure boot from USB storage for better performance:
- Update Pi firmware to latest version
- Enable USB boot in Pi configuration
- Clone SD card to USB drive
- Modify boot configuration for USB priority
Headless Setup
Configure for headless operation:
# Disable unnecessary services
sudo systemctl disable lightdm # Disable GUI
sudo systemctl set-default multi-user.target
# Enable serial console
sudo raspi-config # Interface Options → Serial Port
Custom Boot Splash
Customize boot splash screen:
sudo apt install plymouth plymouth-themes
sudo update-initramfs -u
# Edit /boot/cmdline.txt to add:
# splash quiet plymouth.ignore-serial-consoles
System Maintenance
Regular Updates
Keep the system updated:
# Weekly update routine
sudo apt update && sudo apt upgrade -y
sudo apt autoremove --purge
sudo apt autoclean
# Update Pi firmware (Raspberry Pi only)
sudo rpi-update
SD Card Health
Monitor SD card health:
# Check file system
sudo fsck /dev/mmcblk0p2
# Monitor I/O stats
iostat -x 1
# Backup critical data regularly
System Backup
Create system backups:
# Create disk image backup
sudo dd if=/dev/mmcblk0 of=/path/to/backup.img bs=4M status=progress
# Compress backup
gzip /path/to/backup.img