--- title: Arch Linux Install guide description: published: true date: 2019-11-05T23:03:27.006Z tags: --- # btw I install arch > This **turbo install guide** makes a lot of assumptions on what you want and doesn't cover many real world setups. Always follow the [official wiki](https://wiki.archlinux.org/index.php/Installation_guide) if in doubt. {.is-info} Alternatively, check out [our installer](https://git.fosc.space/fosc/fosc-arch-installer) when it's ready. ## Partitioning To partition disks, always use `cgdisk` unless you have a good reason not to. It's just the best, like a 🦈. > Find the names of your disks using `lsblk` {.is-info} In this guide, the first SATA disk (`sda`) is used. On a modern computer, you may use `nvme0n1` or even `mmcblk0` on embedded systems. `cgdisk /dev/sda` Try to make it look something like: ``` /dev/sda1 200M (ef00) /boot /dev/sda2 $REST_OF_HDD (8300) / ``` The first partition will store the bootloader and the kernel, and will be read by the UEFI to boot. The second one will contain Arch. Format the partitions and mount them. > On an SSD, `f2fs` is recommended instead of `ext4` for unparalled speed. {.is-info} ``` mkfs.vfat -F 32 /dev/sda1 mkfs.ext4 /dev/sda2 mount /dev/sda2 /mnt mkdir /mnt/boot mount /dev/sda1 /mnt/boot ``` ## Actual install Install all packages needed (add what you need!) `pacstrap -i /mnt base base-devel refind-efi xorg-server gnome gnome-extra firefox networkmanager htop zsh grml-zsh-config` `genfstab -U /mnt >> /mnt/etc/fstab` ## Get in there to configure `arch-chroot /mnt /bin/zsh` ``` echo "en_US.UTF-8 UTF-8" > /etc/locale.gen echo LANG=en_US.UTF-8 > /etc/locale.conf locale-gen ``` ## Users ``` passwd chsh root -s /bin/zsh useradd -m -G wheel -s /bin/zsh user passwd user ``` ## Enable services ```systemctl enable NetworkManager gdm``` ## Bootloader `refind-install` ## Kernel cmdline Basically edit your boot options to be 'rw root=/dev/sda2', as sometimes rEFInd doesn't make this automatically `nano /boot/refind_linux.conf` ## Git out `exit` `reboot`