You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
3.9 KiB
174 lines
3.9 KiB
# Notes for installing archlinux |
|
# UEFI boot: LVM on LUKS |
|
# |
|
# Based on Jason Wryan's instructions. |
|
# See his full blog post: |
|
# http://jasonwryan.com/blog/2013/01/25/uefi/ |
|
|
|
# check you are booted in uefi |
|
efivar -l |
|
|
|
### Set up disk. |
|
# Nuke disk (just in case) |
|
sgdisk -Z /dev/sdX |
|
|
|
# Set disk partition alignment and clear all partition data |
|
sgdisk -a 2048 -o /dev/sdX |
|
|
|
# New partition for boot, 0 to 200M |
|
sgdisk -n 1:0:+200M /dev/sdX |
|
|
|
# The rest is for the LUKS partition |
|
sgdisk -n 2:0:0 /dev/sdX |
|
|
|
# Boot partition's type is EFI System |
|
sgdisk -t 1:ef00 /dev/sdX |
|
|
|
# LUKS partition is 'Linux filesystem' |
|
sgdisk -t 2:8300 /dev/sdX |
|
|
|
# Set partition names |
|
sgdisk -c 1:bootefi /dev/sdX |
|
sgdisk -c 2:root /dev/sdX |
|
|
|
### Set up LUKS and encrypt sdX2 |
|
# The actual setup |
|
cryptsetup --cipher aes-xts-plain64 --key-size 512 --hash sha512\ |
|
--iter-time 5000 --use-random --verify-passphrase luksFormat /dev/sdX2 |
|
|
|
# Mount the partition |
|
cryptsetup luksOpen /dev/sdX2 cryptdisk |
|
|
|
### Set up LVM on the LUKS partition |
|
# setup logical volumes |
|
pvcreate /dev/mapper/cryptdisk |
|
pvdisplay |
|
|
|
vgcreate vgroup /dev/mapper/cryptdisk |
|
vgdisplay |
|
|
|
# Partitioning. Customize this for yourself |
|
lvcreate --size 30G --name lvroot vgroup |
|
lvcreate --extents +100%FREE --name lvhome vgroup |
|
lvdisplay |
|
|
|
### Formatting partitions |
|
# Boot should be vfat |
|
mkfs.vfat -F32 /dev/sdX1 |
|
# The rest are ext4 |
|
mkfs.ext4 /dev/mapper/vgroup-lvroot |
|
mkfs.ext4 /dev/mapper/vgroup-lvhome |
|
|
|
### Mount the partitions |
|
mount /dev/mapper/vgroup-lvroot /mnt |
|
mkdir -p /mnt/boot/efi |
|
mount -t vfat /dev/sdX1 /mnt/boot |
|
mkdir /mnt/home |
|
mount /dev/mapper/vgroup-lvhome /mnt/home |
|
|
|
### Install base system ### |
|
# Select a fast mirror |
|
vim /etc/pacman.d/mirrorlist |
|
# Install |
|
pacstrap -i /mnt base base-devel |
|
|
|
### Set up the fstab |
|
genfstab -U -p /mnt >> /mnt/etc/fstab |
|
# Make sure the fstab isn't totally broken |
|
vim /mnt/etc/fstab |
|
|
|
### Chroot into the new system |
|
arch-chroot /mnt |
|
|
|
### Misc modifications |
|
# vi /etc/mkinitcpio.conf |
|
# Add the following hooks |
|
…encrypt lvm2 filesystems… shutdown… |
|
# Add the following modules |
|
vfat ext4 dm_mod dm_crypt aes_x86_64 i915 |
|
# generate new images |
|
mkinitcpio -p linux |
|
|
|
# add options to /etc/lvm/lvm.conf |
|
issue_discards 1 |
|
|
|
### Timezone (customize of course) |
|
ln -s /usr/share/zoneinfo/America/Los_Angeles /etc/localtime |
|
|
|
### Set hostname |
|
echo bbq > /etc/hostname |
|
|
|
### Set up wired networking (check interface with ip link) |
|
systemctl enable dhcpcd@enp0s3.service |
|
|
|
### Set up wireless networking dependencies |
|
pacman -S iw wpa_supplicant dialog wpa_actiond |
|
|
|
### Root password |
|
passwd |
|
|
|
### bootloader ### |
|
pacman -S gummiboot-efi |
|
|
|
# set up gummiboot |
|
/usr/bin/gummiboot install |
|
|
|
# create conf |
|
# /boot/loader/loader.conf |
|
default arch |
|
timeout 5 |
|
|
|
# create /boot/loader/entries/arch.conf |
|
title Arch Linux |
|
linux /vmlinuz-linux |
|
initrd /initramfs-linux.img |
|
options cryptdevice=/dev/sdX2:vgroup root=/dev/mapper/vgroup-lvroot ro |
|
|
|
|
|
###### After reboot |
|
|
|
### Set up user account |
|
useradd -m -g users -G wheel -s /bin/bash alex |
|
passwd alex |
|
|
|
|
|
# Add to sudoers (uncomment wheel comment) |
|
visudo |
|
|
|
### Pacman stuff |
|
# Set up multilib for 32 bit applications (uncomment multilib) |
|
vi /etc/pacman.conf |
|
|
|
### Install yaourt |
|
(diy) |
|
|
|
### Extra setup for installations inside virtualbox |
|
pacman -S virtualbox-guest-utils |
|
modprobe -a vboxguest vboxsf vboxvideo |
|
|
|
# Add to startup as well |
|
systemctl enable vboxservice |
|
|
|
# Start vbox client |
|
VBoxClient-all |
|
|
|
# Add to ~/.xinitrc |
|
(diy) |
|
|
|
### Editor (gvim for clipboard support, use console vim provided) |
|
pacman -S gvim |
|
|
|
### Window management |
|
### ALTERANTIVE (Awesome WM) |
|
### pacman -S awesome vicious |
|
### echo "exec awesome" >> ~/.xinitrc |
|
### mkdir -p ~/.config/awesome/ |
|
### cp /etc/xdg/awesome/rc.lua ~/.config/awesome |
|
pacman -S xorg-xinit xmonad xmonad-contrib |
|
cat `exec xmonad` >> ~/.xinitrc |
|
|
|
#### Extra: System repair via livecd quick commands |
|
cryptsetup luksOpen /dev/sdX2 cryptdisk |
|
mount /dev/mapper/vgroup-lvroot /mnt |
|
mount -t vfat /dev/sdX1 /mnt/boot |
|
arch-chroot /mnt
|
|
|