Arch Linux Installation Cheat-Sheet

Arch Linux Install
Geno Nullfree
 

Base
 
ping google.com (if there's an internet issue, best find it here)
If (Wired Static IP) {
     ip addr add ip_address/subnet_mask dev eth0
     ip route add default via gateway_ip
     vi /etc/resolv.conf
          nameserver nameserver_ip
}
cfdisk /dev/sda (I usually do sda1 for /, sda2 for swap, sda3 for /home)
mkfs.ext4 /dev/sda1; mkfs.ext4 /dev/sda3
mkswap /dev/sda2; swapon /dev/sda2
mount /dev/sda1 /mnt
mkdir /mnt/home; mount /dev/sda3 /mnt/home
pacstrap /mnt base base-devel (only 'pacstrap /mnt base' for minimum install)
genfstab –U –p /mnt >> /mnt/etc/fstab
arch-chroot /mnt
vi /etc/locale.gen (uncomment en_US.UTF-8)
locale-gen
locale | cat > /etc/locale.conf
ln –s /usr/share/zoneinfo/America/New_York /etc/localtime
date (date MMDDhhmm to set if wrong)
hwclock --systohc --utc
If (Wired DHCP) {
     systemctl enable dhcpcd.service
}
If (Wireless DHCP) {
     pacman –S wireless_tools wpa_supplicant wpa_actiond dialog
     wifi-menu
     systemctl enable net-auto-wireless.service
}
If (Multilib for x86_64) {
     vi /etc/pacman/mirrorlist (uncomment multilib) }
}
passwd
useradd –m –g users –G wheel,storage,power –s /bin/bash username
passwd username
pacman –Syu sudo grub-bios vim (if you're into vim)
visudo (uncomment wheel group)
grub-install --target=i386-pc --recheck /dev/sda
cp /usr/share/locale/en\@quot/LC_MESSAGES/grum.mo /boot/grub/locale/en.mo (if this exists)
If (Dual-Boot) {
     pacman –S os-prober (if dual-booting)
}
grub-mkconfig –o /boot/grub/grub.cfg
exit
umount /mnt/home; umount /mnt
reboot
 
Extras
 
sudo hostnamectl set-hostname new_hostname
If (Window Manager || Desktop Environment) {
     sudo pacman –S xorg-server xorg-xinit xorg-server-utils mesa xorg-twm xorg-xclock xterm ttf-dejavu
     sudo pacman –S x86-video-#### (install video driver, nvidia, ati, intel, etc.)
     startx (verify X11/video driver works)
     If (Gnome) {
          sudo pacman –S gnome (gnome3 base; add ‘gnome-extras’ for full)
          sudo systemctl enable gdm (enables login service)
          startx
     }
     If (Simple Login Manager){
          sudo pacman –S slim
          sudo systemctl enable slim
          If (Fluxbox){
               sudo pacman –S fluxbox feh pcmanfm menumaker
               mmaker –f FluxBox
               vim .xinitrc
                    fbsetbg ~/Documents/wallpaper.jpg (to set wallpaper)
                    exec startfluxbox
               startx
          }
          If (Enlightenment) {
               pacman –S enlightenment17
               sudo systemctl enable entrance
               vim .xinitrc
                    exec enlightenment_start
               startx
          }
          If (LXDE) {
               pacman –S lxde
               vim .xinitrc
                    exec startlxde
               startx
          }
          Etc...
     }
}
If (Wired Static IP) {
     See section Static IP
}
If (Audio) {
     sudo pacman –S alsa-utils
}
If (Laptop) {
     sudo pacman –S xf86-input-synaptics (touch pad driver)
}
sudo reboot
 
Static IP
 
ip link (identify Ethernet device name)
sudo vim /etc/conf.d/network
     interface=eth0 (assuming you use eth0 network interface)
     address=ip_address
     netmask=subnet_mask
     gateway=gateway_ip
sudo vim /etc/systemd/system/network.service
     [Unit]
     Description=Static IP Connectivity
     Wants=network.target
     Before=network.target
 
     [Service]
     Type=oneshot
     RemainAfterExit=yes
     EnvironmentFile=/etc/conf.d/network
     ExecStart=/sbin/ip link set dev ${interface} up
     ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}
     ExecStart=/sbin/ip route add default via ${gateway}
     ExecStop=/sbin/ip addr flush dev ${interface}
     ExecStop=/sbin/ip link set dev ${interface} down
 
     [Install]
     WantedBy=multi-user.target
sudo vim /etc/resolv.conf
     nameserver nameserver_ip
sudo systemctl enable network
sudo systemctl start network
 
Cheats
 
pacman –Ss package (searches repositories)
pacman –Syu [package] (updates and upgrades all packages)
pacman –Rns package (n for config files, s for unnecessary dependencies)
systemctl (start|stop|restart|enable|disable|status) service_name (controls services and enables/disables run at boot)

Comments