Single Encrypted SSD Install
' Create a boot partition (sda1) (set boot flag) 100MB, data partition (sda2).
$ gdisk /dev/sda
$ mkfs -t ext4 /dev/sda1
' Encryption stuff
$ cryptsetup -y -v luksFormat /dev/sda2
$ cryptsetup open /dev/sda2 cryptroot
$ mkfs -t ext4 /dev/mapper/cryptroot
' Mount the partitions to our future chroot
$ mount -t ext4 /dev/mapper/cryptroot /mnt
$ mkdir /mnt/boot
$ mount -t ext4 /dev/sda1 /mnt/boot
We can now install the base packages and a few other things
' Install base packages
$ pacstrap /mnt base base-devel syslinux gdisk
' Generate our base fstab file
$ genfstab -p /mnt >> /mnt/etc/fstab
' Change into new root directory
$ arch-chroot /mnt
Now we can setup the system before the first reboot without the live cd/usb
' Set the hostname
$ echo computer_name > /etc/hostname
' Set the time zone
$ ln -s /usr/share/zoneinfo/zone/subzone /etc/localtime
' Edit the locale file and uncomment relevant locales
$ nano /etc/locale.gen
' Generate the uncommented locales from above
$ locale-gen
' Set your locale preference
$ echo LANG=your_locale > /etc/locale.conf
' Add encrypt hook to mkinitcpio: HOOKS="... encrypt ... filesystems ..."
$ nano /etc/mkinitcpio.conf
' Generate the initial RAM disk
$ mkinitcpio -p linux
' Set the root password
$ passwd
' Install some more packages
$ pacman -S networkmanager zip unzip unrar patch make openssh gcc fuse nvidia nvidia-utils
' Enable NetworkManager in systemd
$ systemctl enable NetworkManager
' Install the boot loader
$ syslinux-install_update -i -a -m
' Edit the syslinux boot loader (fix root stuff, set noop io scheduler)
' APPEND elevator=noop cryptdevice=/dev/sda2:cryptroot:allow-discards root=/dev/mapper/cryptroot rw
$ nano /boot/syslinux/syslinux.cfg
' Edit the fstab file, change root mount to use noatime and discard options
' Setup /tmp on tempfs add line: tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0
$ nano /etc/fstab
' Reboot the machine
$ reboot
After a clean reboot you should get the Syslinux Boot Loader and then booted into Archlinux, asking for the encryption key
' Login as root
' Check networking
$ ip addr
$ ping 8.8.8.8
' Edit pacman configuration uncomment multilib repo
$ nano /etc/pacman.conf
' Update pacman databases
$ pacman -Syu
' Lets get more packages and cinnamon now
$ pacman -S cinnamon playonlinux firefox xorg-xinit vim gvfs gvfs-smb wget lib32-libldap gnome-terminal gnome-keyring
' Edit some files to fix a few things and setup environment
' fuse.conf uncomment only two configuration values
$ nano /etc/fuse.conf
' Edit which users/groups can sudo
$ visudo
' Create a local non-root user
$ useradd -g users -G disk lp wheel games dbus network video audio optical floppy storage power -m username
' Set a password for that user
$ passwd username
Lets reboot again and login as our new user, you probably don't have to reboot here but I do
' Login as non-root user
' Copy xinitrc to profile
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
' Edit .xinitrc file to set cinnamon as desktop environment: exec cinnamon-session
$ nano ~/.xinitrc
' I like to change the font engines and stuff before I load the desktop first
$ cd /tmp
$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/freetype2-ubuntu.tar.gz
$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/fontconfig-ubuntu.tar.gz
$ wget https://aur.archlinux.org/cgit/aur.git/snapshot/ttf-ms-fonts.tar.gz
' Lets extract these packages
$ tar zxf freetype2-ubuntu.tar.gz
$ tar zxf fontconfig-ubuntu.tar.gz
$ tar zxf ttf-ms-fonts.tar.gz
' Lets build these packages
$ cd freetype2-ubuntu
$ makepkg
$ sudo pacman -U freetype2-ubuntu...filename
$ cd ../fontconfig-ubuntu
$ makepkg
$ sudo pacman -U fontconfig-ubuntu...filename
$ cd ../ttf-ms-fonts
$ makepkg
$ sudo pacman -U ttf-ms-fonts...filename
' Change back to home
$ cd ~
' Start the desktop environment cinnamon
$ startx
We can then get some games going for instance
' Create a games folder, I like putting it in a root area to be clean and easy
$ sudo mkdir /games
' We need to give file permissions to the folder
$ sudo chmod 775 /games
$ sudo chown root:games /games
' You should be able to write to that folder now (your in the games group right?)
' Copy WoW to the games folder
' Lets setup a wine prefix for WoW
$ playonlinux
' Download latest version of wine and wine-staging both x64 (Battle.net bombs on staging, game runs best on staging)
' Error: "This application failed to start because it could not find or load the Qt platform plugin "windows"."
' You will get this error if your wine prefixes are NOT Windows XP.
' You will get this error if your running the "Battle.net" prefix with a -staging version of WINE!
' Wine bug confirmed: https://bugs.winehq.org/show_bug.cgi?id=39985
' Create two new prefixes, "Battle.net" and "Warcraft"
' Run winecfg on the "Warcraft" prefix
' Set CSMT enabled on "Warcraft" prefix
' Disable the d3d11 library on "Warcraft" prefix
' Run winecfg on "Battle.net" prefix
' Disable the dbghelp library on "Battle.net" prefix (answer yes to important question)
' Run 'World of Warcraft Launcher.exe' in the "Battle.net" prefix to allow updates and such
' Run 'Wow-64.exe' in the "Warcraft" prefix to play game with CSMT enabled.
' Setup scripts to do this for both programs. Using WINEARCH=win64 and WINEPREFIX= to prefixes
--- Game Start Script ---
#!/bin/bash
WINEDEBUG=-all WINEARCH=win64 force_s3tc_enable=true __GL_THREADED_OPTIMIZATIONS=1 WINEPREFIX=~/.PlayOnLinux/wineprefix/Warcraft /home/username/.PlayOnLinux/wine/linux-amd64/-staging/bin/wine /games/World\ of\ Warcraft/Wow-64.exe
--- Game End Script ---
--- Battle.net Start Script ---
#!/bin/bash
WINEDEBUG=-all WINEARCH=win64 WINEPREFIX=~/.PlayOnLinux/wineprefix/Battle.net /home/username/.PlayOnLinux/wine/linux-amd64//bin/wine /games/World\ of\ Warcraft/World\ of\ Warcraft\ Launcher.exe
--- Battle.net End Script ---
I install a few more applications
' Text editor, archive manager, stuff...
$ sudo pacman -S gedit file-roller ttf-liberation quodlibet gimp redshift freerdp remmina gtk-engine-murrine gtk-theme-arc
Tweak some settings
' Firefox first
' Open options from menu button, click Content on left.
' Default Font: Times New Roman; 16
' Proportional: Serif; 16
' Serif: Times New Roman
' Sans-serif: Arial
' Monospace: Courier New; 13
' Add your own addons, uBlock Origin, signin to Sync if you use, config custom sync server if you use
' Tweak the console
' I prefer gray text on black background, size around 100x40.
' Edit bash profile to create tmpfs firefox profile directory
$ nano ~/.bash_profile
' Add line: mkdir -p /tmp/profile
' Make a symbolic link to tmpfs profile directory from current profile
$ cd ~/.cache/mozilla/firefox
$ ln -s /tmp/profile ulw90aed.default (use profile folder)
' Install CK Kernel
' Install CK Repo
' Use http://repo-ck.com/ information
$ sudo nano /etc/pacman.conf
' Update pacman cache
$ sudo pacman -Syy
' Check your board type and install (also choose nvidia driver)
' https://wiki.archlinux.org/index.php/Repo-ck
$ sudo pacman -S ck-ivybridge
' Update syslinux (boot loader)
' LABEL arch-ck
' MENU LABEL Arch Linux CK
' LINUX ../vmlinuz-linux-ck
' APPEND elevator=bfq cryptdevice=/dev/sda2:cryptroot:allow-discards root=/dev/mapper/cryptroot rw
' INITRD ../initramfs-linux-ck.img
' Check default kernel
' DEFAULT arch-ck
Remove non-CK kernel
' Remove old kernel to save space on /boot
$ sudo pacman -R linux nvidia