wiki/Archguide.md

92 lines
2.0 KiB
Markdown

---
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`