This is a simple guide with un-encrypted volumes.
- setup the time
timedatectl set-ntp true
- rank your packman mirrors
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
rankmirrors -n 3 /etc/pacman.d/mirrorlist.bak > /etc/pacman.d/mirrorlist
- update pacman
pacman -Syy
- view the available disks
fdisk -l
- partition your disk for UEFI boot
cgdisk /dev/sda
- create the efi partition
- new
- default alignment
- size
- 100M
- hex code
- ef00
- name
- EFI
- create the boot partition
- new
- default alignment
- size
- 250M
- hex code default
- name
- Boot
- create the main partition
- new
- default alignment
- size
- remaining
- hex code
- default
- name
- Main
- write the partition to disk
- write
- verify the partitions
fdisk -l
- format the partitions
mkfs.vfat -F32 /dev/sdX1
mkfs.ext2 /dev/sdX2
mkfs.ext4 /dev/sdX3
- mount the partition
mount /dev/sdX3 /mnt
mkdir /mnt/boot
mount /dev/sdX2 /mnt/boot
mkdir /mnt/boot/efi
mount /dev/sdX1 /mnt/boot/efi
- prep the system
pacstrap -i /mnt base base-devel grub-efi-x86_64 efibootmgr
- generate the fstab file
genfstab -U -p /mnt >> /mnt/etc/fstab
- move into our filesystem
arch-chroot /mnt /bin/bash
- update the locale
nano /etc/locale.gen
- uncomment the preferred locales
en_US.UTF-8 UTF-8
- update the local
locale-gen
- update the timezone
- replace
REGION
andTIMEZONE
with values suitable to your zone ln -sf /usr/share/zoneinfo/REGION/TIME_ZONE /etc/localtime
hwclock --systohc --utc
- replace
- set the hostname
echo MY_DESIRED_HOSTNAME > /etc/hostname
- setup the root password
passwd
- create the user
useradd -m -g users -G wheel -s /bin/bash USERNAME
- replace USERNAME with desired username
- set the users password
passwd USERNAME
- replace USERNAME with desired username
- give user sudo access
export EDITOR=YOUR_EDITOR_OF_CHOICE
visudo
- uncomment
%wheel ALL=(ALL) NOPASSWD: ALL
- uncomment
- configure grub
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux
grub-mkconfig -o /boot/grub/grub.cfg
- exit the chroot
exit
- if running in VirtualBox tell the EFI loader where to find grub EFI
nano /mnt/boot/EFI/startup.nsh
- add the following on two seperate lines
fs0:
\EFI\BOOTLOADER_NAME_FROM_INSTALL\grubx64.efi' > startup.nsh
- un-mount the filesystem
umount -R /mnt
- reboot the system
reboot
- login via the user you created earlier
- enable internet via dhcp for your eth if its not enabled
sudo systemctl enable dhcpcd
sudo reboot now