Skip to content

Instantly share code, notes, and snippets.

@codemodify
Created November 25, 2019 23:35
Show Gist options
  • Save codemodify/3634f69824e1ed52d9e38d1e580f92eb to your computer and use it in GitHub Desktop.
Save codemodify/3634f69824e1ed52d9e38d1e580f92eb to your computer and use it in GitHub Desktop.
Arch Linux on Thinkpad X1 Carbon Gen 7 (i7-10710U)

Arch Linux on Thinkpad X1 Carbon Gen 7 (i7-10710U)

  • Download the latest ISO from https://www.archlinux.org/download
  • sudo dd if=archlinux-2019.11.01-x86_64.iso of=/dev/sda bs=4M status=progress oflag=sync
  • Boot the ISO
  • IF and ONLY IF you have a 4k or some HiDPI screen and fonts are super super small
    • ls /usr/share/kbd/consolefonts
    • setfont latarcyrheb-sun32
  • ls /sys/firmware/efi/efivars verifies we booted in UEFI

Internet

  • wifi-menu
  • ping google.com
  • timedatectl set-ntp true
  • pacman -Sy pacman-contrib
  • mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
  • cat /etc/pacman.d/mirrorlist.backup | grep "United States" -A 1 | grep Server > /etc/pacman.d/mirrorlist.scan
  • rankmirrors -n 4 /etc/pacman.d/mirrorlist.scan > /etc/pacman.d/mirrorlist
    • or curl -s "https://www.archlinux.org/mirrorlist/?country=US&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 5 - | sudo tee /etc/pacman.d/mirrorlist

Disk

  • cfdisk /dev/nvme0n1
    • Delete all existing
    • 512M - EFI
    • 32G - Linux Swap
    • Remaining - Linux Filesystem
  • mkfs.fat /dev/nvme0n1p1
  • mkfswap /dev/nvme0n1p2
    • swapon /dev/nvme0n1p2
  • mkfs.ext4 /dev/nvme0n1p3

Mount

  • mount /dev/nvme0n1p3 /mnt
  • mkdir /mnt/boot
  • mount /dev/nvme0n1p1 /mnt/boot

Install Arch Linux Core

  • pacstrap /mnt base base-devel linux linux-firmware
  • genfstab -L /mnt >> /mnt/etc/fstab

Configure Arch Linux Core

  • arch-chroot /mnt
  • pacman -S vim git
  • vim /etc/pacman.conf
    • enable Color and Multilib
  • echo en_US.UTF-8 >> /etc/locale.gen
  • echo LANG=en_US.UTF-8 > /etc/locale.conf
  • export LANG=en_US.UTF-8
  • echo KEYMAP=us > /etc/vconsole.conf
  • rm /etc/localtime
  • ln -s /usr/share/zoneinfo/US/Pacific /etc/localtime
  • hwclock --systohc --utc
  • echo arch-box > /etc/hostname
  • echo "127.0.0.1 localhost" > /etc/hosts
  • echo "::1 localhost" >> /etc/hosts
  • echo "127.0.1.1 arch-box.localdomain arch-box" >> /etc/hosts
  • useradd -mg users -G wheel -s /bin/bash user
  • passwd user
  • bootctl --path=/boot install
  • mkinitcpio -p linux
  • cp /usr/share/systemd/bootctl/loader.conf /boot/loader/
  • cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/
  • blkid /dev/nvme0n1p3 >> /boot/loader/entries/arch.conf
  • vim /boot/loader/entries/arch.conf
  • vi /etc/sudoers

Install Desktop Environment

  • pacman -S gnome gnome-extra
  • systemctl enable NetworkManager
  • systemctl enable gdm
  • pacman -S xterm

yay

git clone https://aur.archlinux.org/yay.git cd yay makepkg -si yay --noeditmenu --nodiffmenu --nocleanmenu --answeredit None --answerclean All --answerdiff None --save echo Color >> /etc/pacman.conf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment