I decided to give Arch Linux a try on my main desktop (Core i7-4790K, 16GB RAM, 256GB/1TB SSDs, GTX 1070). After quite a bit of research and information gleaned from multiple wikis, blog posts, and how-tos, I cobbled together a list of steps necessary to install the OS, a base set of core utilities, and the GNOME Desktop Environment (DE). I've been a Linux user since 1996, and anyone with Linux experience will likely find the steps fairly straightforward. It really isn't that difficult, but it does require a certain degree of patience.
Let's get started! Boot the Arch Linux ISO, and follow the steps below. Oh, and a side note -- stop using nano! Seriously, if you really want to learn Linux, teach yourself a real editor like Vi/VIM (or, God forbid, Emacs). If you're using iOS, check out Vimmy. It's a free Vi/VIM reference app I wrote that will be quite useful to you.
Check network connectivity and update the system clock:
ping google.com
timedatectl set-ntp true
Partition the drive with your tool of choice, normally as follows. Obviously, you may have to adjust this for your particular configuration:
- /dev/sda1 = EFI (512MB, FAT32)
- /dev/sda2 = Swap (dependent on RAM)
- /dev/sda3 = Root (remaining space, Ext4)
Format partitions and turn on swap:
mkfs.fat -F32 -nEFI /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mkfs.ext4 –LRoot /dev/sda3
Mount partitions:
The order of these steps is critical. Mount the root file system first, then create /boot, then mount /boot.
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
Find closest mirrors:
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup
rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist
Install base packages:
pacstrap -i /mnt base base-devel
Generate fstab:
genfstab -U /mnt > /mnt/etc/fstab
Change root into new system:
arch-chroot /mnt /bin/bash
Install and configure boot loader and Intel ucode:
bootctl --path=/boot install
pacman –S intel-ucode
Obtain UUID of root file system:
blkid –s PARTUUID –o value /dev/sda3 > /boot/loader/entries/arch.conf
Now edit the new arch.conf you created above to look like this:
vi /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=PARTUUID=[UUID you wrote to the file in above step] rw
Set language and time zone:
vi /etc/locale.gen
Uncomment the following line:
en_US.UTF-8
… then run the following commands:
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
Run “tzselect” and create a symlink to the correct timezone:
tzselect
ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
Sync hardware clock to UTC:
hwclock --systohc –-utc
Change hostname:
echo “myhostname” > /etc/hostname
Change root password and create user accounts:
passwd
useradd -m -G wheel,users -s /bin/bash username-here
passwd username-here
Enable Multilib and AUR:
vi /etc/pacman.conf
Uncomment the lines in the [multilib] section.
Then, add the following to the bottom of the file to enable AUR:
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
Run pacman –Sy to process the changes…
Install YAOURT to pull from Arch User Repository (AUR):
pacman -S yaourt
Install GNOME and GNOME Software:
pacman -S gnome gnome-extra gnome-tweak-tool gnome-software gnome-shell-extensions
Install WPA Supplicant and Network Manager:
pacman -S iw wpa_supplicant dialog network-manager-applet networkmanager
Set GNOME Display Manager (GDM) and Network Manager to start at boot:
systemctl enable gdm.service
systemctl enable NetworkManager.service
Install NVIDIA proprietary drivers (with 32-bit support):
pacman –S nvidia nvidia-utils nvidia-libgl lib32-nvidia-libgl lib32-nvidia-utils
Install Bash Completion:
pacman -S bash-completion
Configure static IP address (optional):
Copy the /etc/netctl/examples/ethernet-static example profile to /etc/netctl and modify Interface, Address, Gateway and DNS as needed.
Exit chroot, Unmount, and reboot:
exit
umount -R /mnt
reboot
Once the system is up, you'll notice the default fonts and font rendering are pretty poor. You can use the steps below to install additional recommended fonts, as well as the Infinality font rendering engine.
Add additional fonts:
pacman -S ttf-bitstream-vera ttf-inconsolata ttf-ubuntu-font-family ttf-dejavu ttf-freefont ttf-linux-libertine ttf-liberation
Disable bitmap fonts used as fallback:
ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d
Install Infinality to improve font rendering:
vi /etc/pacman.conf
[infinality-bundle]
Server = http://bohoomil.com/repo/$arch
[infinality-bundle-multilib]
Server = http://bohoomil.com/repo/multilib/$arch
[infinality-bundle-fonts]
Server = http://bohoomil.com/repo/fonts
pacman-key -r 962DDE58
pacman-key --lsign-key 962DDE58
pacman -Syy infinality-bundle infinality-bundle-multilib
reboot
At this point, the basic install of the OS is complete. The steps below involve installation of additional recommended packages from AUR, but they are completely optional.
[Optional AUR Packages]
Install Numix Circle Icons and Adapta Theme:
yaourt numix-circle-icon-theme-git
yaourt adapta-gtk-theme
Install Google Chrome, Dropbox, and Sublime Text 3:
yaourt google-chrome
yaourt dropbox
yaourt nautilus-dropbox
yaourt sublime-text-dev
To update all packages, including AUR:
yaourt -Syua
To update all packages, excluding AUR:
pacman –Syu
No comments:
Post a Comment