wiki/Archguide.md

101 lines
2.5 KiB
Markdown

---
title: Arch Linux Install guide
description:
published: true
date: 2019-11-05T23:07:39.276Z
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
```
## Internet access
If Ethernet was plugged in during boot, it will be ready.
When plugging it after the fact, it's best to just reboot. Alternatively, run `dhcpcd`, `killall dhpcd` and run `dhcpcd` again to get an IP address.
No, that didn't make sense, but it works way too well.
> If a WiFi install is absolutely necessary, run the Arch installer-exclusive `wifi-menu` tool.
{.is-warning}
Check your internet connectivity with `ping` before continuing.
## Actual install
To install packages to a folder instead of normally, `pacstrap` is used. Here a good set of packages to get a running system is provided.
`pacstrap /mnt base base-devel linux linux-firmware f2fs-tools xorg-server gnome gnome-extra firefox networkmanager htop zsh grml-zsh-config`
## Chrooting
`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`