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