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