Skip to content

Instantly share code, notes, and snippets.

@themindfulcoder
Last active April 8, 2018 09:16
Show Gist options
  • Save themindfulcoder/73a05da11dc3ceffc4e8cdbbc1920c0c to your computer and use it in GitHub Desktop.
Save themindfulcoder/73a05da11dc3ceffc4e8cdbbc1920c0c to your computer and use it in GitHub Desktop.
Dell XPS 9550 Minimal Arch Linux Install Guide
Verify UEFI mode is enabled
ls /sys/firmware/efi/efivars
Setup network
wifi-menu
ping archlinux.org
Enable network system clock synchronization
timedatectl set-ntp true
Configure hard drive partitions
# Create partition table
parted -s /dev/nvme0n1 mklabel gpt

# Create partition for /boot
parted -s /dev/nvme0n1 mkpart ESP fat32 1MiB 513MiB
parted -s /dev/nvme0n1 set 1 boot on

# Create partition for /
parted -s /dev/nvme0n1 mkpart primary ext4 513MiB 50.5GiB

# Create partition for /home 
parted -s /dev/nvme0n1 mkpart primary ext4 50.5GiB 450.5GiB

# Create the swap partition (hibernation)
parted -s /dev/nvme0n1 mkpart primary linux-swap 450.5GiB 100%
Format the newly created partitions
mkfs.vfat -F32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
mkfs.ext4 /dev/nvme0n1p3
mkswap /dev/nvme0n1p4
Mount the partitions
mount /dev/nvme0n1p2 /mnt

mkdir /mnt/boot
mount /dev/nvme0n1p1

mkdir /mnt/home
mount /dev/nvme0n1p3

swapon /dev/nvme0n1p4
Update the mirrorlist to use your preferred mirror first
vim /etc/pacman.d/mirrorlist
Install arch into /mnt
pacstrap /mnt base base-devel intel-ucode
Generate the file table
genfstab -U /mnt >> /mnt/etc/fstab
CHROOT into your new distro
arch-chroot /mnt 
Set your timezone
ln -sf /usr/share/zoneinfo/Africa/Johannesburg /etc/localtime
hwclock --systohc
Set your localization
vi /etc/locale.gen
> en_US.UTF-8 UTF-8

locale-gen

echo LANG=en_US.UTF-8 > /etc/locale.conf
Set the machines hostname
echo myHostName > /etc/hostname
vi /etc/hosts
> 127.0.0.1 myHostName.localdomain myHostName

ping myHostName
Update /boot
mkinitcpio -p linux
Install Bootloader

https://wiki.archlinux.org/index.php/Systemd-boot

bootctl install
touch /boot/loader/loader.conf
> #timeout 3
> default arch

MY_ROOT_UUID=$(blkid -s UUID -o value /dev/nvme0n1p2)

touch /boot/loader/entries/arch.conf
> title   Arch Linux
> linux   /vmlinuz-linux
> initrd  /intel-ucode.img
> initrd  /initramfs-linux.img
> options root=UUID=$MY_ROOT_UUID rw video=eDP-1:1920x1080@60:e drm_kms_helper.edid_firmware=edid/1920x1080.bin
Set root password and create basic user
passwd

useradd -m my_user_name
passwd my_user_name
Grant your new user sudo privledges
visudo
> my_user_name  ALL=(ALL) ALL
Install some basic applications
pacman -S networkmanager network-manager-applet reflector vim
Update mirrorlist using reflector
reflector --country ZA --sort rate --save /etc/pacman.d/mirrorlist
Setup Graphical Environment
pacman -S xorg xorg-server xorg-apps
pacman -S sddm i3
pacman -S dmenu ffmpeg i3status imagemagick rxvt-unicode
systemctl enable sddm.service
systemctl enable NetworkManager.service

mkdir -p /home/my_user_name/.config/i3
cp /etc/i3/config /home/my_user_name/.config/i3/config

mkdir -p /home/my_user_name/.config/i3status
cp /etc/i3status/config /home/my_user_name/.config/i3status/config
Exit and reboot
exit
umount -R /mnt
reboot
Connecting to wifi after rebooting
nmcli dev wifi connect <SSID> password <password>

General Recommendations

https://wiki.archlinux.org/index.php/General_recommendations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment