Skip to content

Instantly share code, notes, and snippets.

@Bonveio
Last active October 10, 2025 06:00
Show Gist options
  • Select an option

  • Save Bonveio/264fcc2d2f1a67b8b4e9398b8741b4e7 to your computer and use it in GitHub Desktop.

Select an option

Save Bonveio/264fcc2d2f1a67b8b4e9398b8741b4e7 to your computer and use it in GitHub Desktop.
ArchLinux + LXQt | Install instructions / Install manual / Install tutorial

1. Download and Prepare ISO


2. Self-tweaks (Skip this step)

  • Enter BIOS (F2), enable Wireless LAN and USB Legacy.
  • Optional: Adjust boot sequence.
  • Suppress beep sound: setterm -blength 0
  • Disable Broken PageDown key:
    setkeycodes 109 0
    echo -e "evdev:atkbd:dmi:*\n  KEYBOARD_KEY_d1=reserved\n" > /etc/udev/hwdb.d/pgdn.hwdb
    systemd-hwdb update
  • Enable WiFi:
    rfkill unblock 0  ## built-in
    rfkill unblock 2  ## USB WiFi
    rfkill list
    ip link set wlan0 up

3. Internet & System Time

Note

If using LAN or USB tethering, skip Step 1.

  1. WiFi:
    iwctl
    station wlan0 get-networks
    station wlan0 connect "<WiFi-Name>"
    exit
  2. Verify Internet & Sync Time:
    curl -4v http://youtu.be/generate_204  ## HTTP/1.1 204 confirms success
    echo "NTP=time.google.com time.cloudflare.com" >> /etc/systemd/timesyncd.conf
    systemctl restart systemd-timesyncd
    timedatectl set-timezone Asia/Manila
    date ## check your time
    hwclock -w

4. Update & Partitioning

  1. Update Package Database: pacman -Syy
  2. Partition Disk:
    fdisk -l                  ## Identify target disk, e.g., /dev/sdb
    wipefs -af /dev/sdb
    fdisk /dev/sdb            ## Follow below:
    n p 1 Enter +5G Y         ## /bonv exFAT partition (5GB)
    n p 2 Enter +256M Y       ## /boot partition (256MB minimal for btrfs)
    n p Enter Enter Y         ## rootfs (rest of disk)
    t 1 07
    t 2 linux
    t 3 linux
    w
  3. Create Filesystems:
    fdisk -l /dev/sdb
    mkfs.btrfs -f /dev/sdb3
    mkfs.fat -F 32 /dev/sdb2
    mkfs.exfat /dev/sdb1

5. Mount & Install System

  1. Mount Partitions:
    mount -t btrfs -o noatime,compress=zstd:1,ssd,discard=async /dev/sdb3 /mnt
    btrfs subvolume create /mnt/@
    umount /mnt
    mount -t btrfs -o subvol=@,noatime,compress=zstd:1,ssd,discard=async /dev/sdb3 /mnt
    mkdir -p /mnt/bonv /mnt/boot
    mount -t vfat /dev/sdb2 /mnt/boot
    mount -o noatime,gid=1000,uid=1000 -t exfat /dev/sdb1 /mnt/bonv
    mount --bind /proc /mnt/proc
    mount --bind /sys /mnt/sys
    mount --bind /dev /mnt/dev
  2. Install Base System:
    pacstrap -i /mnt base linux linux-firmware-broadcom linux-firmware-intel linux-firmware-realtek linux-firmware-whence btrfs-progs sudo nano micro openbsd-netcat exfatprogs
  3. Generate fstab and copy files to /mnt:
    genfstab -U /mnt > /mnt/etc/fstab
    cp /etc/systemd/timesyncd.conf /mnt/etc/systemd/timesyncd.conf

6. Chroot & Configuration

  1. Enter chroot:
    arch-chroot /mnt
    mkinitcpio -P ## add 'btrfs' on /etc/mkinitcpio.conf 'HOOKS'
    mv /etc/locale.gen /etc/locale.gen.orig
    echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
    locale-gen
    echo "LANG=en_US.UTF-8" > /etc/locale.conf
    echo b > /etc/hostname
    echo -ne "127.0.0.1 localhost\n::1 localhost\n127.0.11.0 b\n" > /etc/hosts
    ln -sf /usr/share/zoneinfo/Asia/Manila /etc/localtime
    systemctl enable systemd-timesyncd
  2. Create User:
    useradd -m -G wheel,storage,power,audio,video -s /bin/bash bon
    passwd root
    passwd bon
    SUDO_EDITOR=nano visudo  ## Uncomment %wheel line for NOPASSWD
  3. Install Bootloader & Network:
    pacman -S systemd-boot dhcpcd networkmanager systemd-resolvconf
    bootctl install --path=/boot
    systemctl enable dhcpcd NetworkManager systemd-resolved
    exit
    umount -R /mnt
    shutdown 0

Note

Done! Remove the installer USB, reboot, Use Alt+Left/Right to switch TTY screens. Repeat WiFi Setup (Step 3.1) if necessary.

7. Post-Install Desktop Setup

  1. Log in as root, install LXQt + other stuffs:
    pacman -Syy
    pacman -Syu
    pacman -S lxqt xorg-xset xorg-xmodmap net-tools ttf-cascadia-code gvfs gvfs-mtp gvfs-smb gvfs-wsdd sddm breeze-icons
    mkdir /etc/sddm.conf.d
    echo -e "[Autologin]\nUser=bon\nSession=lxqt.desktop" > /etc/sddm.conf.d/autologin.conf
    systemctl enable --now sddm.service
  2. Install AUR Helper:
    sudo pacman -S --needed git base-devel
    cd ~; git clone https://aur.archlinux.org/paru-bin.git && cd paru-bin && makepkg -si
  3. Additional Setup:
    paru -S pipewire pvwucontrol        ## Audio setup
    paru -S nm-tray                     ## WiFi GUI
    paru -S brave-bin                   ## Browser
    paru -S podman                      ## Minimal Docker
    paru -S vlc vlc-plugin-ffmpeg       ## VLC Media Player
    paru -S shellcheck busybox
    paru -S openssh sshpass
    echo -e "evdev:atkbd:dmi:*\n  KEYBOARD_KEY_d1=reserved\n" > /etc/udev/hwdb.d/pgdn.hwdb
    systemd-hwdb update

Reference

Comments are disabled for this gist.