Skip to content

Instantly share code, notes, and snippets.

@myTerminal
Last active August 8, 2024 20:33
Show Gist options
  • Save myTerminal/cdeb61cbc7f4b4e4a5cf6a60ab7021a2 to your computer and use it in GitHub Desktop.
Save myTerminal/cdeb61cbc7f4b4e4a5cf6a60ab7021a2 to your computer and use it in GitHub Desktop.
Arch installation steps on my Dell Precision T3600

Installation steps

Setting up time

timedatectl set-ntp true
timedatectl status

Setting up the partition map

Creating partitions

Perform partitioning with cfdisk and verify with lsblk before proceeding.

Preparing partitions (ext4 model)

Format the first partition as EFI (boot)

mkfs.fat -F32 /dev/sda1

Create swap

mkswap /dev/sda2

Format root partition

mkfs.ext4 /dev/sda3

Format home partition

mkfs.ext4 /dev/sda4

Mounting partitions

mount /dev/sda3 /mnt
mkdir -p /mnt/{boot,home}
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home
swapon /dev/sda2

Installing base system

pacstrap /mnt base base-devel linux linux-firmware linux-headers vim git wget intel-ucode

Generating file-system table

genfstab -U /mnt >> /mnt/etc/fstab

Logging into the new system

arch-chroot /mnt

Setting timezone and locales

Set local timezone

ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime
hwclock --systohc

Set locales by uncommenting en_US.UTF-8 from /etc/locale.gen and then generate the selected locale(s)

locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf

Configuring network identity

Set hostname

echo "precision" > /etc/hostname

Place below content in the file /etc/hosts

127.0.0.1    localhost
::1          localhost
127.0.1.1    precision.localdomain precision

Setting root password

passwd

Enabling network service

pacman -S dhcpcd --noconfirm
systemctl enable dhcpcd

Creating users and groups

Create user

useradd ismail -m -c "Mohammed Ismail Ansari"

Set password for user

passwd ismail

Add user to wheel (and other) group(s)

usermod -aG wheel,audio,video,optical,storage ismail

Configure sudo for 'wheel' group

visudo

Setting up pacman

Enable multilib repository for pacman by uncommenting [multilib] section in /etc/pacman.conf and then update pacman database with pacman -Syu.

Installing a few packages

Install grub and company

pacman -S grub efibootmgr os-prober ntfs-3g

Setting up grub

Install grub

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

Generate grub configuration file

grub-mkconfig -o /boot/grub/grub.cfg

Ending with a clean up

Exit chroot

exit

Unmount all mounted partitions

umount -a

Reboot

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