ArchLinux + Cinnamon + More

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 zharvek

' Set a password for that user
$ passwd zharvek

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 b