Arch Linux Installation Guide (using shell scripts, incomplete)
This Arch Linux installation guide is customized for my hardware and my needs. Anyone may use these instructions to setup a system of their own, but they are not guaranteed to work on all hardware nor they are the "official" way of doing things.
Disclaimer: software components, specially the ones that I block out are my personal choice, and anyone else referencing this article should substitute their own choices.
For a generic installations instructions see the official Arch Linux Installation Guide.
Installation done using archlinux-2014.02.01-dual.iso
Preparing Partitions
Boot into the live environment, connect to internet and LAN.
# wpa_passphrase <ESSID> <uber_secret_key>|sed '/#psk=/d' > wifi.conf # rfkill unblock all # wpa_supplicant -B -D wext -i <wireles_interface> -c wifi.conf # dhcpcd <wireles_interface>
Note: rfkill is optional depending on the hardware.
Then mount the pacman cache from server.
# mkdir -p /var/lib/pacman/sync # mount -o nolock server_name:/path/to/sync /var/lib/pacman/sync # mount -o nolock server_name:/path/to/cache /var/cache/pacman/pkg
Install git and clone the installation scripts from any of the following repositories.
# pacman -S git --- output not shown here --- # cd /tmp # git clone repo_url
Important: scripts should be in the /tmp so they are shared between live and chroot environments.
Run Install Scripts
# cd archlinux-install # ./010-prepare-disks.sh sda [sdb] --- output not shown here ---
When installing packages, the parameter kernel will make the installation to include the Archlinux stock kernel. Omit the parameter when using a custom kernel.
# ./020-install-packages.sh [kernel] --- output not shown here ---
Chroot into the new system
010 script should have mounted all the necessary partitions for the chroot environment, and installations scripts should also be in /tmp
# chroot /mnt /bin/bash # cd /tmp/archlinux-install
Run Configuration Scripts
# ./031-configure.sh <machine-name> <username> [rfkill] --- output not shown here ---
Kernel
Compile and install the kernel.
Create WPA Configuration
If ./wifi.conf already exists in the live environment, it would have been copied by the installation scripts to the correct location. Otherwise create it now.
# wpa_passphrase ESSID uber_secret_key|sed '/#psk=/d' > /etc/wpa_supplicant/wifi.conf
Exit chroot, unmount and reboot
# exit exit # ./040-unmount-disks.sh # reboot
Driver installation and configuration
Sound: ALSA Support
Note: ALSA support must be enabled in the Kernel.
Do the necessary adjustments using alsamixer and test and save settings.
$ alsamixer $ speaker-test -c 2 --- output not shown here --- # alsactl store
Optionally, make the necessary changes to the configuration files to load ALSA daemon on boot.
Touch Pad: FSPPS/2 Seltelic
SINX-450
# pacman -S xf86-input-synaptics --- output not shown here ---
Video: ATI Graphics Card
IBM R52
# pacman -S xf86-video-ati --- output not shown here ---
Video: GMA500 (Intel)
SINX-450
# pacman -S xf86-video-fbdev --- output not shown here ---
Add gma500_gfx module to modules array on /etc/mkinitcpio.conf and build initramfs
# mkinitcpio -p linux --- output not shown here ---
Video: Intel Graphics Card
Acer V5-571PG, Acer 4738, HP/Compaq 6720s
# pacman -S xf86-video-intel --- output not shown here ---
Optionally, add i915 module to modules array on /etc/mkinitcpio.conf and build initramfs
# mkinitcpio -p linux --- output not shown here ---
Video: NVIDIA Graphics Card
Lenovo 3000 N100
# pacman -S xf86-video-nouveau nouveau-dri --- output not shown here --- # cat > /etc/X11/xorg.conf.d/20-nouveau.conf << EOF > Section "Device" > Identifier "Nvidia card" > Driver "nouveau" > EndSection > EOF
Acer V5-751PG (Optimus)
# yaourt -S xf86-video-intel intel-dri bumblebee nvidia-dkms --- output not shown here --- # systemctl enable bumblebeed
WIFI: Broadcom BCM4311
IBM R52
$ yaourt -S b43-firmware rfkill --- output not shown here --- # systemctl enable rfkill-unblock\@wifi
might have to add RFKILL_UNBLOCK="wifi"
to /etc/conf.d/rfkill
WIFI: Broadcom BCM43228
SINX-450
$ yaourt -S broadcom-wl-dkms --- output not shown here ---
GUI
Clone the installation script GIT repository again into the newly installed system, and run the final script.
# ./052-install-gui.sh <de_name> --- output not shown here ---
Parameter de_name should be either i3 or xfce.
Post install setup
- Clone bin and vault repositories from the shared volume and run setup script.
- Clone dotfiles repository from local server and run setup (while in console).
- Reboot into GUI and run the dotfiles setup again to properly configure environment variables.
- Do a final reboot.