Parent Tutorial:
- https://gist.github.com/mattiaslundberg/8620837 Muktware Tutorial:
- http://www.muktware.io/arch-linux-guide-the-always-up-to-date-arch-linux-tutorial/ Arch Linux Installation Guide:
- https://wiki.archlinux.org/index.php/Installation_guide
There are 2 choices:
- UEFI/GPT mode: UEFI boot mode / GPT partition table
- BIOS/MBR mode: Legacy boot mode / MBR partition table
I tried to install in UEFI mode, but my laptop (Acer E5-475-336H) had problems with it, and didn't boot after installation. This is how I installed arch linux in BIOS/MBR mode with full disk encryption (using LUKS), and LVM on LUKS.
I assume that /dev/sda is the system's disk, and /dev/sdb is usb drive.
-
Download arch iso image from https://www.archlinux.org/ and copy to a usb drive.
# dd if=arch.iso of=/dev/sdb -
Set boot mode to "Legacy" in BIOS configuration, and boot from usb.
-
Connect to internet. Useful commands:
# supervisorctl restart dhcpcd # wifi-menu -
Partitioning
A drive should first be partitioned and afterwards the partitions should be formatted with a file system. Use fdisk to create MBR partitions.
# fdisk /dev/sdaFirst, create an empty MBR partition table (WARNING: This will erase entire disk)
(fdisk) oWe are going to create 2 main partitions (/dev/sda1 and /dev/sda2):
Device Boot Start End Sectors Size Id Type /dev/sda1 2048 526335 524288 256M 83 Linux /boot /dev/sda2 526336 765986815 765460480 365G 83 Linux Encrypted with LUKS, 3 LVM partitions: swap vg0 -wi-ao---- 8.00g swap root vg0 -wi-ao---- 80.00g / anbar vg0 -wi-ao---- 277.00g /dev/sda3 765986816 976773167 210786352 100.5G 83 Linux (Optional) Other partitions if you need... You can encrypt them separately with another passwordCreate partitions:
(fdisk) n (fdisk) p (fdisk) 1 (fdisk) <Enter> (fdisk) +256M (fdisk) t (fdisk) 83 (fdisk) n (fdisk) p (fdisk) 2 (fdisk) <Enter> (fdisk) +365G (fdisk) t (fdisk) 83 (fdisk) n (fdisk) p (fdisk) 3 (fdisk) <Enter> (fdisk) <Enter> (fdisk) t (fdisk) 83 (fdisk) w (Write Changes)Format Partitions:
mkfs.ext2 /dev/sda1 -
Setup encryption
# cryptsetup -c aes-xts-plain64 -y --use-random luksFormat /dev/sda2 # cryptsetup luksOpen /dev/sda2 luks -
Create LVM Partitions This creates one partions for root, modify if /home or other partitions should be on separate partitions
# pvcreate /dev/mapper/luks # vgcreate vg0 /dev/mapper/luks # lvcreate --size 8G vg0 --name swap # lvcreate --size 80G vg0 --name root # lvcreate -l +100%FREE vg0 --name anbar -
Format LVM partitions
# mkfs.ext4 /dev/mapper/vg0-root # mkfs.ext4 /dev/mapper/vg0-anbar # mkswap /dev/mapper/vg0-swap -
Mount the new system
# mount /dev/mapper/vg0-root /mnt # mount /dev/sda1 /mnt/boot # swapon /dev/mapper/vg0-swap
mkdir /mnt/boot mount /dev/sdX2 /mnt/boot mkdir /mnt/boot/efi mount /dev/sdX1 /mnt/boot/efi
Install the system also includes stuff needed for starting wifi when first booting into the newly installed system
pacstrap /mnt base base-devel grub-efi-x86_64 zsh vim git efibootmgr dialog wpa_supplicant
genfstab -pU /mnt >> /mnt/etc/fstab
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
arch-chroot /mnt /bin/bash
ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime hwclock --systohc --utc
echo MYHOSTNAME > /etc/hostname
echo LANG=en_US.UTF-8 >> /etc/locale.conf echo LANGUAGE=en_US >> /etc/locale.conf echo LC_ALL=C >> /etc/locale.conf
passwd
vim /etc/mkinitcpio.conf
mkinitcpio -p linux
grub-install In /etc/default/grub edit the line GRUB_CMDLINE_LINUX to GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX3:luks:allow-discards" then run: grub-mkconfig -o /boot/grub/grub.cfg
exit
umount -R /mnt swapoff -a
reboot