If the directory is populated then you're booted using UEFI.
If you're using a hardwired connection (ethernet) you can skip this step.
Connect to your access point then you can ping a site just to be sure. If everything is good, we can begin partitioning the drive.
ping -c 3 www.google.com
Gonna use a four partition scheme comprised of
/home. The drive name could be just about anything (nvmen1, sda, sdb, etc,.), use
lsblk to determine what drive it is (note: we're gonna use
sdX as a placeholder for now).
Then we're gonna want to type
o to clear current partition table. Press
n to create a new partition, this is gonna be our
Create three more partitions with the following details.
Partition number: default First sector: default Last sector: +512MiB Hex code or GUID: EF00
Partition number: default First sector: default Last sector: +25GiB Hex code or GUID: default Partition number: default First sector: default Last sector: +16GiB # Rule of thumb, RAM + 50%. Hex code or GUID: default Partition number: default First sector: default Last sector: default Hex code or GUID: default
You can now write the changes and exit with
w. Confirm that GPT is present and that the partition table matches what you entered.
gdisk -l /dev/sdX
mkfs.vfat /dev/sdX1 # First partition (/boot) mkfs.ext4 /dev/sdX2 # Second partition (/root) mkfs.ext4 /dev/sdX4 # Fourth partition (/home) mkswap /dev/sdX3 # Third partition (swap) swapon /dev/sdX3
mount /dev/sdX2 /mnt # Mount root partition mkdir /mnt/boot # Making and mounting /boot mount /dev/sdX1 /mnt/boot mkdir /mnt/home # Making and mounting /home mount /dev/sdX4 /mnt/home
Installing Arch's base, along with that you can append some more packages you commonly use (neovim, dunst, Firefox,. etc,.).
pacstrap /mnt base base-devel
If you're going to be using wifi, you're gonna need to append a few packages:
Generate an fstab to define how disk partitions are mounted into the filesystem.
genfstab -U /mnt >> /mnt/etc/fstab
Enter the new system.
Set time zone. In order to know what time zone you need to use, you're gonna need to look in
ln -sf /usr/share/zoneinfo/<region>/<city> /etc/localtime hwclock --systohc
Set locale. Depending on your language, you will need to uncomment your localizations in
locale-gen echo LANG=en_US.UTF-8 >> /etc/locale.conf
echo <hostname> >> /etc/hostname
Change root password.
bootctl install cd /boot ls -l
vmlinuz-linux is present.
cd loader/ nano loader.conf
You can delete everything in this file and add this.
default arch timeout 4
You can change the timeout value to
0 if you just want to instantly boot.
cd entries/ nano arch.conf
Then add this to the file.
title Arch linux /vmlinuz-linux initrd /initramfs-linux.img options root=PARTUUID=<UUID> rw
In order to get the PARTUUID of
/root, you can
echo $(blkid) >> arch.conf, then delete everything but the PARTUUID (note: be sure to remove the quotes and include
rw at the end).