Sharing my notes of my Arch installation. It took me three days of reading and correcting some mistakes. I did find it easy enough with my two plus years of linux experience. Not recommended for fresh newbies, at least a couple of months of using command line should be required. And keep in mind that you should read the distribution pages.
Code:
Download ISO file and make boot USB
https://archlinux.org/download/
# cp -v /path/to/archlinux-version-x86_64.iso /dev/sdX
Boot USB and verify boot mode
# ls /sys/firmware/efi/efivars
If no errors then okay
Connect to the internet and update system clock
# rfkill list
# ip link
# iwctl
[iwd]# device list
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
[iwd]# station wlan0 connect SSID
[iwd]# exit
# ping ip-address
# timedatectl set-ntp true
Use gdisk to create 4 partitions and mkfs/mkswap for file systems (/boot, /, /home, swap)
For UEFI installation, make sda1 an EFI partition
# gdisk /dev/sda
# mkfs.fat -v -F 32 /dev/sda1
# mkfs.ext4 -v /dev/sda2
# mkfs.ext4 -v /dev/sda3
# mkswap /dev/sda6
Mount the partitions and enable swap
# mount -v /dev/sda2 /mnt
# mkdir -v /mnt/boot
# mount -v /dev/sda1 /mnt/boot
# mkdir -v /mnt/home
# mount -v /dev/sda3 /mnt/home
# swapon -v /dev/sda6
Install essential packages and generate an fstab file
# pacstrap /mnt base linux linux-firmware nano
# genfstab -U /mnt >> /mnt/etc/fstab
Changeroot into the new system and run hwclock to generate /etc/adjtime
# arch-chroot /mnt
# hwclock --systohc
Edit /etc/locale.gen and uncomment en_US.UTF-8 and other locales
# nano /etc/locale.gen
Generate the locales; create the locale.conf file and set the LANG variable accordingly
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
Create the hostname file and install packages
# echo hp2 > /etc/hostname
Note: packages include the cinnamon DE, tools for LFS and more
# pacman -Sv bison cinnamon dosfstools e2fsprogs efibootmgr ethtools exfatprogs f2fs-tools firefox gcc gedit gnome-disk-utility gnome-keyring gnome-screenshot gnome-system-monitor gnome-terminal gparted gpicview grub intel-ucode iproute2 lightdm lightdm-gtk-greeter make man-db man-pages nilfs-utils ntfs-3g patch sudo texinfo udftools vlc wget xorg-apps xorg-server
Add user and passwords
# useradd -m -G adm,ftp,http,log,mars,root,wheel mars
# passwd
# passwd mars
Give user sudo privileges; append below root 'mars ALL=(ALL) ALL'
# EDITOR=nano
# nano /etc/sudoers
Generate the xorg.conf file and copy it
# Xorg :0 -configure
# cp -v /root/xorg.conf.new /etc/X11/xorg.conf
Enable lightdm and networkmanager
# systemctl enable lightdm
# systemctl enable NetworkManager.service
Install grub and generate the configuration file
# grub-install -v --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
# grub-mkconfig -o /boot/grub/grub.cfg
Reboot into Cinnamon DE
# exit
# reboot
Upgrade packages and system
# pacman -Syu