Init
This commit is contained in:
88
README.md
Normal file
88
README.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Arch Setup Scripts
|
||||
|
||||
These are heavily build upon [Lukes Auto-Rice Bootstrapping Scripts](https://github.com/LukeSmithxyz/LARBS).
|
||||
I prefer to have them fully CLI and minimal.
|
||||
|
||||
|
||||
For this to actually work, the dotfiles need to contain all the nessecary stuff to start dwm, and a few other things.
|
||||
|
||||
|
||||
|
||||
### Minimal Arch Install Guide
|
||||
|
||||
Super barebones install, just ot get stuff running fast, mostly summary of [the wiki](https://wiki.archlinux.org/title/Installation_guide). For encryption see [here](https://git.bocken.org/Alexander/mykb/src/branch/master/docs/luks2.md). For other fancy stuff see the Arch Wiki.
|
||||
|
||||
1. Boot from Arch ISO
|
||||
2. Connect to the internet
|
||||
- `iwctl`
|
||||
- `device list`
|
||||
- Assume device name is `wlan0`
|
||||
- If device or adapter is off
|
||||
- `device name set-property Powered on`
|
||||
- `adapter adapter set-property Powered on`
|
||||
- `station wlan0 scan`
|
||||
- `station wlan0 get-networks`
|
||||
- `station wlan0 connect YOUR_SSID`
|
||||
|
||||
2. Update the system clock
|
||||
- `timedatectl`
|
||||
|
||||
3. Partition the disks (lets assume `/dev/nvme0n1`)
|
||||
- `fdisk /dev/nvme0n1`
|
||||
- Create a new GPT partition table: `g`
|
||||
- Create new partitions:
|
||||
- EFI System Partition (ESP): `n`, `+1G`
|
||||
- SWAP Partition: `n`, `+16G` (or whatever you want)
|
||||
- Root Partition: `n`, `+100G` (or whatever you want)
|
||||
- Home Partition: `n`, (rest of the space)
|
||||
- Write changes: `w`
|
||||
- Verify partitions: `lsblk`
|
||||
- Format the partitions:
|
||||
- `mkfs.fat -F32 /dev/nvme0n1p1` (ESP)
|
||||
- `mkswap /dev/nvme0n1p2` (SWAP)
|
||||
- `mkfs.ext4 /dev/nvme0n1p3` (Root)
|
||||
- `mkfs.ext4 /dev/nvme0n1p4` (Home)
|
||||
|
||||
4. Mount the file systems
|
||||
- `mount /dev/nvme0n1p3 /mnt` (Mount root)
|
||||
- `mount --mkdir /dev/nvme0n1p1 /mnt/boot` (Mount ESP)
|
||||
- `mount --mkdir /dev/nvme0n1p4 /mnt/home` (Mount home)
|
||||
- `swapon /dev/nvme0n1p2` (Enable SWAP)
|
||||
- Verify mounts: `lsblk`
|
||||
|
||||
5. Install essential packages
|
||||
- `pacstrap -K /mnt base linux linux-firmware base-devel vim networkmanager efibootmgr grub`
|
||||
- You can add other packages you want here, like `git`, `curl`, etc.
|
||||
|
||||
6. Generate fstab (file system table)
|
||||
- `genfstab -U /mnt >> /mnt/etc/fstab`
|
||||
- Verify fstab: `cat /mnt/etc/fstab`
|
||||
|
||||
7. Chroot into the new System
|
||||
- `arch-chroot /mnt`
|
||||
|
||||
8. Localization
|
||||
- `ln -sf /usr/share/zoneinfo/Region/City /etc/localtime`
|
||||
- `hwclock --systohc`
|
||||
- Edit `/etc/locale.gen` and uncomment your locale, e.g., `en_US.UTF-8 UTF-8`
|
||||
- `locale-gen`
|
||||
- `echo "LANG=en_US.UTF-8" > /etc/locale.conf`
|
||||
- Edit Hostname: `echo "myhostname" > /etc/hostname`
|
||||
|
||||
9. Initramfs
|
||||
- `mkinitcpio -P`
|
||||
|
||||
10. Set root password
|
||||
- `passwd`
|
||||
|
||||
11. Bootloader
|
||||
- `grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB`
|
||||
- `grub-mkconfig -o /boot/grub/grub.cfg`
|
||||
|
||||
12. Enable essential services
|
||||
- `systemctl enable NetworkManager`
|
||||
|
||||
13. Exit chroot and unmount
|
||||
- `exit`
|
||||
- `umount -R /mnt`
|
||||
- `swapoff -a`
|
||||
Reference in New Issue
Block a user