1. Download and Prepare ISO
- Download Arch ISO: archlinux.org/download
- Create a bootable USB using Ventoy or RUFUS.
- Ventoy: Place ISO, boot USB, select
archlinux.iso→ "Boot in normal mode." - RUFUS: How to burn ISO to USB.
- Ventoy: Place ISO, boot USB, select
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.
- WiFi:
iwctl station wlan0 get-networks station wlan0 connect "<WiFi-Name>" exit
- 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
- Update Package Database:
pacman -Syy - 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
- 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
- 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
- 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
- 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
- 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
- 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 - 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
- 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
- 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
- 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