View the original installation guide online at 
https://wiki.archlinux.org/index.php/Installation_Guide

(this one I have modified).

   This document is a guide for installing Arch Linux from the live system
   booted with the official installation image. Before installing, it
   would be advised to view the FAQ. If looking for a more detailed
   installation guide see the Beginners' guide, or Category:Getting and
   installing Arch for specific installation cases.

   Most help can be found on the wiki or through the various programs' man
   pages; see archlinux(7) for an overview of the configuration. For
   interactive help, the IRC channel and the forums are also available.

Contents

     * 1 Pre-installation
          + 1.1 Set the keyboard layout
          + 1.2 Connect to the Internet
          + 1.3 Update the system clock
          + 1.4 Partition the disks
          + 1.5 Format the partitions
          + 1.6 Mount the partitions
     * 2 Installation
          + 2.1 Select the mirrors
          + 2.2 Install the base packages
          + 2.3 Configure the system
          + 2.4 Install a boot loader
          + 2.5 Reboot
     * 3 Post-installation

Pre-installation

   Download and boot the installation medium as explained in
   Category:Getting and installing Arch, then proceed with the rest of
   this guide.

   The installation process needs to retrieve packages from a remote
   repository, therefore a working internet connection is required.

  Set the keyboard layout

   The default keyboard layout is US. Alternative keyboard layouts can be
   loaded with loadkeys keymap_file: keymap files can be found in
   /usr/share/kbd/keymaps/ (path and file extension can be omitted).

  Connect to the Internet

   Internet service via DHCP discovery is enabled on boot for supported
   wired devices; read more at Network configuration. For supported
   wireless devices run wifi-menu to set up the network; read more with
   Wireless network configuration. If needing a static IP or network
   management tools, stop the DHCP discovery service with systemctl stop
   dhcpcd@eth0.service, and read Netctl.

  Update the system clock               
# timedatectl status
# timedatectl set-timezone America/Chicago
   See systemd-timesyncd    (Just get time and date corrected and enable ntp)
# timedatectl set-ntp true            

  Partition the disks

   See Partitioning for details; some special partitions may be needed,
   see EFI System Partition and GRUB BIOS boot partition. If wanting to
   create any stacked block devices for LVM, disk encryption or RAID, do
   it now, otherwise set up partitions as needed with fdisk or parted

  Format the partitions  mkfs.ext2 /dev/sd# and mkswap /dev/sd#
                         (linux partitions)     (swap partitino)
   See File systems and optionally Swap for details.

  Mount the partitions

   Mount the root partition on /mnt. After that, create directories for
   and mount any other partitions (/mnt/boot, /mnt/home, ...) and activate
   your swap partition if you want them to be detected later by genfstab.
# mkswap /dev/sda#
# swapon /dev/sda#
If you have multiple partitions, do it like this
# mount /dev/sda1 /mnt
# mkdir /mnt/home
# mount /dev/sda2 /mnt/home

Installation

  Select the mirrors

   Edit /etc/pacman.d/mirrorlist and select a download mirror(s). Regional
   mirrors usually work best; however, other criteria may be necessary to
   discern, read more on Mirrors. This copy of the mirrorlist file will
   later be copied on the new system by pacstrap, so it is worth getting
   it right.

  Install the base packages

   Use the pacstrap script to install the base group:
# pacstrap /mnt base

   Other packages or groups can be installed by appending their names to
   the above command (space separated), possibly including the boot
   loader.
======================================
  Here is what I used:
# pacstrap /mnt base grub
    For a laptop with wifi
# pacstrap /mnt base grub wicd wicd-gtk
 or
# pacstrap /mnt base grub networkmanager network-manager-applet
=====================================
  Configure the system

   Generate an fstab file (use -U or -L to define by UUID or labels):
# genfstab -U /mnt > /mnt/etc/fstab

   Change root into the new system:
# arch-chroot /mnt

   Set the hostname:
# echo computer_name > /etc/hostname
     (choice is yours)
   Set the time zone:
# ln -s /usr/share/zoneinfo/zone/subzone /etc/localtime
# ln -s /usr/share/zoneinfo/US/Central /etc/localtime

   Uncomment the needed locales in /etc/locale.gen, then generate them
   with:                    en_US.UTF8
# locale-gen

   Set locale preferences in /etc/locale.conf and possibly
   $HOME/.config/locale.conf:
# echo LANG=your_locale > /etc/locale.conf
===========================================
# echo LANG=en_US.UTF8 > /etc/locale.conf
==========================================

   Add console keymap and font preferences in /etc/vconsole.conf.

   Configure the network for the newly installed environment: see Network
   configuration and Wireless network configuration.

   Configure /etc/mkinitcpio.conf if additional features are needed.
   Create a new initial RAM disk with:
# mkinitcpio -p linux

   Set the root password:
# passwd

  Install a boot loader
========================================
# grub-install /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
If UEFI is enabled, see EFI System Partition.
  See Boot loaders for the available choices and configuration but grub will be easiest.

  Reboot and go on into post-install procedures – finish developing your system.

   Exit the chroot environment by typing exit or pressing Ctrl+D.

   Optionally manually unmount all the partitions with umount -R /mnt:
   this allows noticing any "busy" partitions, and finding the cause with
   fuser.

   Finally, restart the machine by typing reboot: any partitions still
   mounted will be automatically unmounted by systemd. Remember to remove
   the installation media and then login into the new system with the root
   account.

Post-installation

   See General recommendations for system management directions and
   post-installation tutorials (like setting up a graphical user
   interface, sound or a touchpad).

   For a list of applications that may be of interest, see List of
   applications.
=================================================================================

Added Notes (mine)

[If we are building a desktop or laptop]
When we get to the "install base" step:
# pacstrap /mnt base grub ntp wicd wick-gtk xorg xfce4 xfce4-goodies alsa-utils udisks2 firefox sddm
But, sometimes you will run into trouble if you install all these packages at once, this is just a list
Other alternative options:  chromium networkmanager gnome gnome-extra gnome-shell
To autostart wicd or networkmanager:
# systemctl enable wicd.service   #If you'r chrooted or logged in native
  or
# systemctl enable networkmanager.servie   #If you're chrooted or native

Note: We need udisks2 to auto-mount USB storage devices in xfce. 
We may also need spacefm for android device access. In order to get sddm (simple display manager) to start automatically: (sddm is a resource friendly DM, to set it up to start automatically) # systemctl enable sddm To enable auto-login, edit /etc/sddm.conf with: [Autologin] User=<user-name> Session=xfce.desktop #or plasma.desktop or gnome.desktop etc. (depending on what DM you install) We can install: gnome gnome-extras gnome-shell gdm #for complete gnome desktop We can install KDE. See: https://wiki.archlinux.org/index.php/KDE#Installation (They have a wiki for *everything*) To get swap active: # mkswap /dev/sda# # swapon /dev/sda# (where # is the partition number, we should do this before creating fstab file) To generate an fstab file (use -U or -L to define by UUID or labels): # genfstab -p /mnt >> /mnt/etc/fstab Dont forget to install and configure a boot loader, grub # grub-install /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg To add a new user, use the useradd command: # useradd -m -g initial_group -G additional_groups -s login_shell username # useradd -m -G wheel,video,audio,scanner,network,optical joe # passwd joe type password again… ========================== NetworkManager for XFCE: pacman -S networkmanager network-manager-applet xfce4-notifyd (it’s probably better than wicd) (wicd is inactive) ====================================================================== If you are installing in virtualbox and you want guest additions, you do NOT install it on the host. On your Arch Linux guest, install package virtualbox-guest.iso and reboot. ====================================================================== To set networking to dhcp, use command: systemctl enable dhcpcd@eth0.service # Where eth0 is the actual interface name. (use comnmand “ip link” to print network interface names and info about them)

If the install you are doing is 64bit, you need to enable multilib so that 32bit packages can also be installed.

To use the multilib repository, uncomment the [multilib] section in /etc/pacman.conf (Please be sure to uncomment both lines):

[multilib]
Include = /etc/pacman.d/mirrorlist

Then update the package list and upgrade with
pacman -Syu

Note: Do not just run pacman -Sy, see System maintenance#Partial upgrades are unsupported.
======================================

AUR
Some packages are only available from the Arch User Repository (AUR). 

Users can search and download PKGBUILDs from the AUR Web Interface. These PKGBUILDs can be built into installable packages using makepkg, then installed using pacman.
Ensure the base-devel package group is installed. Use this command to acquire package build capabilities:
pacman -S --needed base-devel

For more info on installing AUR packages, see:
https://wiki.archlinux.org/index.php/Arch_User_Repository
More detailed infoirmation about the Arch Linux install process: https://wiki.archlinux.org/index.php/Installation_guide