8f87c44784 | ||
---|---|---|
README.md | ||
Xresources | ||
bashrc | ||
bootstrap.sh | ||
mirrorlist | ||
terminator_config | ||
tmux.conf | ||
vimrc | ||
xinitrc |
README.md
Installing Arch Linux
John Hammond | September 29th, 2019
This are my notes while installing and setting up my Arch Linux environment.
I did this on my DELL XPS 15 laptop on September 29th, 2019.
Downloading the ISO
I downloaded the archlinux-2019.09.01-x86_64.iso
from here: https://www.archlinux.org/download/.
I searched for a United States mirror and chose one: specifically, I used: http://mirrors.acm.wpi.edu/archlinux/iso/2019.09.01/
Burning the ISO to a Disc
I still had Ubuntu at the time, so I burned the Arch Linux ISO to a disc with [Brasero].
Booting the Arch Linux Live Disc
On my DELL XPS 15, I needed to spam the F12
key when booting to get to the menu and choose "Boot from CD". I made sure to boot in UEFI.
Once I got into the Arch Linux prompt, I followed the instructions from their Installation Guide.
I didn't need to change the keyboard layout, so I went on just to verify the UEFI boot mode:
ls /sys/firmware/efi/efivars
This had results, so I knew I successfully booted with UEFI. Good enough!
Connecting to the Internet
On my DELL XPS 15, I wanted to connect to the Internet right away. To get started, I needed to know the name of the interface I was working with.
ip link
In my case, my interface name was wlp59s0
.
Now I needed to actually connect to my Wi-Fi. I used netctl
to keep it easy.
cp /etc/netctl/examples/wireless-wpa /etc/netctl/home
vim /etc/netctl/home
With that configuration file, I could fill in the interface name, SSID, and Wi-Fi password.
net start home
At that point, I could connect to the Internet!
Updating the Time Service
timedatectl set-ntp true
Partitioning the Disks
I used this command to determine which devices are set up already.
fdisk -l
In my case of my DELL XPS 15, I had /dev/nvmen1p1
, /dev/nvmen1p2
and /dev/nvmen1p3
all set up (because I did have Ubuntu installed on this previously).
My /dev/nvmen1p1
was the EFI partition for GRUB, /dev/nvmen1p2
was my EXT4 filesystem, and /dev/nvmen1p3
was my swapspace.
If you needed to partition the drive manually, like you were setting up in a virtual machine, I would recommend using cfdisk
.
In my case, I needed to format these partitions with their appropriate purposes.
mkfs.ext4 /dev/nvmen1p2
mkswap /dev/nvmen1p3
swapon /dev/nvmen1p3
I handled the /dev/nvmen1p1
EFI partition later, when I would install GRUB.
Mounting the Filesystem
mount /dev/nvmen1p2 /mnt
Installing Arch
pacstrap /mnt base
Configure the system
genfstab -U /mnt >> /mnt/etc/fstab
Chroot into the new filesystem
arch-chroot /mnt
Setting the timezone
ln -sf /usr/share/zoneinfo/EST5EDT /etc/localtime
hwclock --systohc
Localization
sed 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
Hostname
echo arch > /etc/hostname
cat <<EOF >/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
EOF
Set root passwd
passwd
Install GRUB
pacman -Sy grub os-prober
When I was installing via virtual machine, I just needed to:
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
When I was installing on my hard drive I did:
grub-install /dev/nvmen1p3
grub-mkconfig -o /boot/grub/grub.cfg
DO NOT forget to copy over a network profile for netctl
and install netctl
and network-manager
so you still have internet access when you reboot into the real system
Adding a new user
mkdir /home/john
useradd john
passwd john
Getting Internet
When I was on a virtual machine, I needed to run these commands to get an IP address.
dhcpcd
dhcpcd -4
Installing Sudo
pacman -Sy sudo
Installing Audio Drivers
sudo pacman -Sy pulseaudio pavucontrol
I needed to restart my computer after running these commands for the sound to start. (There was probably a service, but I couldn't find it...)
Getting yay and AUR Support
First get ready to work with PKGBUILD files:
sudo pacman -S --needed base-devel
Then get yay
:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Correcting .bashrc
I copy and pasted the default Ubuntu bashrc from here:
Installing tmux
pacman -Sy tmux
echo 'source "$HOME/.bashrc"' > ~/.bashrc
Installing xrandr
----------------
pacman -S xorg-xrandr
Setting proper monitor size
--------------------------
xrandr --output DP-3 --scale 2x2 --mode 2560x1080
Getting monokai in vim
----------------------
First I downloaded vim-plug. [https://github.com/junegunn/vim-plug](https://github.com/junegunn/vim-plug)
curl -fLo ~/.vim/autoload/plug.vim --create-dirs
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Then, I could modify my `~/.vimrc` file to what it is now.
Then I would run `:PlugInstall` from within vim and it would install the module for me.
Tmux would act strange though -- I would need to be sure to remove all of the tmux
sessions before I could see the vim changes take effect.
```bash
tmux ls # to see the running sessions
tmux kill-session -t 2 # to kill the other sessions
Installing OBS-Studio
yay -S obs-studio
Installing FontAwesome
yay -S ttf-font-awesome
This is incomplete. I need to keep working on this (1109 September 30th 2019)