Install Arch Linux in 5 minutesPublished 2018-7-26
I think I installed Arch once before, but I'm long past my high school days of wanting to learn every inch of Linux. Now I'm on to my "just get it done already" days.
Someone reported that Telebit doesn't
curl | bash install on Arch and so I wanted to debug the problem for myself... but I didn't want to actually learn Arch, so here I am making it as simple as possible for anyone else that may need it.
How to Install Arch: TL;DR
In general Arch is not for the TL;DR type of people.
The whole point is that you want to read and learn and soak it all in.
This guide is as close to TL;DR as I can get (sans my commentary).
How to Download
The site with the lastest and greatest should be https://www.archlinux.org/download/, but they don't have an easy button. You've gotta read and figure out what they want you to do.
Let me simplify it:
- HTTPS (fast)
- Torrent (maybe faster)
There you go, 574 MB of glory.
How to Burn
Generally: Right Click on the ".iso" and click "Burn to CD" or "Burn to USB".
Using dd: Choose a USB device you're willing to completely overwrite (deleting everything) and do so.
Without the USB drive in, list your disk devices:
sudo ls /dev/sd*
Now plug in the USB, wait a few seconds, and list devices again. The new device (which we'll call
sdx is your USB).
sudo ls /dev/sd* sudo umount -l /dev/sdx sudo dd bs=8m if=~/Downloads/archlinux-2018.07.01-x86_64.iso of=/dev/sdx
Hint: It's probably
Warning: Select the wrong device => bork your computer and lose all the files.
Just hit "New", follow the wizard accepting the defaults, and select the ISO when asks during the first start.
(this is what I'm doing)
Install the base system
Boot the first item, wait for it to turn you over to a prompt, and begin the festivities.
I use the dvorak keyboard layout, you probably DO NOT need to do this:
Partition the disk:
WARNING: I'm assuming a fresh system with no files and no other operating system. This is for me so I can quickly copy-and-paste when I need to repeat this in the future. DO NOT do what I'm doing if that's not you. Instead, check to make sure that you change the disk names, partitions, etc.
ping -c 3 archlinux.org timedatectl set-ntp true fdisk -l
fdisk /dev/sda << EOF o n p 1 +100M n p 2 w EOF
mkfs.ext2 /dev/sda1 mkfs.ext4 /dev/sda2 mount /dev/sda2 /mnt mkdir /mnt/boot mount /dev/sda1 /mnt/boot
pacstrap /mnt base
Note: I've had to come back and redo this next step after a reboot.
I think running
partprobe might more properly reload the disk UUID
so that it works the first time.
genfstab -U /mnt >> /mnt/etc/fstab
Brain Usage Ahead: Now you need to look at the available cities and determine which timezone you're in:
ls /usr/share/zoneinfo/ ls /usr/share/zoneinfo/America/
ln -sf /usr/share/zoneinfo/America/Denver /etc/localtime
hwclock --systohc locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf
Skip This: I like dvorak, but you probably don't.
echo KEYMAP=dvorak >> /etc/vconsole.conf
echo 'archy' >> /etc/hostname
echo '127.0.0.1 localhost' >> /etc/hosts echo '::1 localhost' >> /etc/hosts echo '127.0.0.1 archy.localdomain archy' >> /etc/hosts
mkinitcpio -p linux
Booting with GRUB
You need to install the grub utils, install it as the bootloader, and give it a configuration.
pacman -S grub grub-install --target=i386-pc /dev/sda grub-mkconfig -o /boot/grub/grub.cfg
Then you can exit the chroot and reboot
mount -R /mnt reboot
Making it useful
Get networking again:
systemctl enable dhcpcd systemctl restart dhcpcd
Make sure the time syncs (especially important in a VM):
systemctl enable systemd-timesyncd systemctl restart systemd-timesyncd
dhcpcd manually - note it's not dhcpd, but dhcpcd)
Install some normal stuff:
pacman -S vim curl wget rsync git
pacman -S sudo visudo
Uncomment the following line:
%wheel ALL=(ALL) ALL
Create an admin user
NOTE: You probably don't want to use my username :)
# aj, username will be aj # -U, create group aj also # -G wheel, add to group wheel # -m, create home directory useradd aj -U -G wheel -m passwd aj
logname id -u -n su - aj logname id -u -n sudo ls exit logname id -u -n
By AJ ONeal
Did I make your day?
Buy me a coffee
(you can learn about the bigger picture I'm working towards on my patreon page )