Install Arch Linux & Plasma KDE via WiFi Connection

Here is how to install Arch Linux with Plasma KDE via Wifi connection …

Keep in mind, that you can find yourself with successfully installed Arch Linux, but without internet connection, because of missing packages. In case like this, and many others, the only option is to boot again with the Flash Drive, mount the file system, chroot, and install the missing software. If you don’t know well your system, you may be forced to do this several times. So, as an advice, to save effort and time, make a simple list of all the packages you are forced to install trough the hard way. Next time that list will save you tons of time.

If you need any additional information, it is very likely to find it at wiki.archlinux.org, since it’s the best Linux documentation available. It’s worth spending few minutes there. And don’t forget that Google is your best friend.

Preparation

You’ll need few things first:

  • Internet Connection – that’s how things work these days
  • USB Flash Drive – since no one’s using CD/DVDs anymore
  • Arch Linux – the latest version, which is available here
  • Rufus (or similar) – to help you make the bootable Flash Drive, download from here
  • And an Alternative Internet Access – in case you need additional information

If you don’t know how to use Rufus, you can find plenty of great videos in YouTube about that. Just use the keywords ‘rufus bootable’. Also, we assume that you know how to change the boot sequence of your system, thus you can boot with the Flash Drive.

Boot Up & Connection Check

Once booted up with the Live version of Arch Linux, you need to check the Internet Connection. If you use Ethernet port, the connection should be automatically established.

In case you don’t have Ethernet Port on your system, and the only way to connect to Internet is via WiFi, you can use the wifi-menu applet.

wifi-menu

Ping google.com or archlinux.org to check if you have internet access:

ping archlinux.org

If you are online, you should see response like this:

root@eureka:~$ ping archlinux.org
PING archlinux.org (138.201.81.199) 56(84) bytes of data.
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=55 time=66.0 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=2 ttl=55 time=66.1 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=3 ttl=55 time=66.1 ms
...

Creating Disk Partitions

WARNING! Make sure you don’t have any important data on the disk, because you are going to erase it. Any data will be lost! if you are trying to install Arch Linux alongside another OS, such as Windows, do not follow this guide!

For this installation we create classical scheme with 4 partitions – bootrootswap and home. Our test system has 1 HDD with total capacity of around 500 GB.

Here is the partition scheme we follow, you can use it as reference:

DeviceTypeMountSize
/dev/sda1BIOS Boot250MB ~ 1GB
/dev/sda2Linux Root/60GB
/dev/sda3Linux Swap4GB (for 8GB RAM)
/dev/sda4Linux Home/home~400GB (the rest)

With the help of fdisk, you can list all of the physical drives with their available partitions:

fdisk -l

As expected, the command will return something like this:

~/ fdisk -l
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C22A3F27-55BA-874A-BB5E-59567C9161D6
...

Note the first line. The disk we want to partition is /dev/sda. If you have more than one physical drives, make sure you target the right one.

Then with cfdisk we can partition the drive.

cfdisk /dev/sda

In cfdisk, you can use Delete to delete existing partitions. Then by targeting the free space, select New to create 4 new partitions. The size of each partition is set by number followed by unit (eg, 60G).

Choose the appropriate Type for each partition. As a result, you should have similar table:

/dev/sda1 2048 2099199 2097152 1G BIOS boot 
/dev/sda2 2099200 127928319 125829120 60G Linux root (x86-64)
/dev/sda3 127928320 136316927 8388608 4G Linux swap
/dev/sda4 136316928 976773134 840456207 400.8G Linux home

To finish the partitioning, select Write and all changes will be written to the disk. Then Quit from cfdisk.

Creating the File System

Here we format the partitions and create the file system. We format sda2 (root) and sda4 (home) as btrfs – the newest (and the fastest) Linux File System.

Format the Root partition:

mkfs.btrfs /dev/sda2

Format the Home partition:

mkfs.btrfs /dev/sda4

Format the Swap partition:

mkswap /dev/sda3

Swap on the new Swap partition:

swapon /dev/sda3

Mounting the File System

Now we need to mount our newly created partitions.

Mount /dev/sda2 in /mnt:

mount /dev/sda2 /mnt

Create Home directory:

mkdir /mnt/home

Mount the Home directory:

mount /dev/sda4 /mnt/home

Installing Base Arch Linux

Once partitions are mounted, we are ready to proceed with the actual installation:

pacstrap /mnt base base-devel

It can take some time, depends on your Internet connection.

When finally completed, we generate fstab from the current boot:

genfstab /mnt >> /mnt/etc/fstab

At this point you have Arch Linux installed, but that’s not enough to celebrate. Now you need to make Arch Linux usable and ready to boot.

Configuring the Installation as chroot

Chroot allows us to install additional software and configuring the system:

arch-chroot /mnt /bin/bash

First change locales. Just uncomment the line you need in /etc/locale.gen, usually en_US.UTF-8 UTF-8. Then apply the changes:

locale-gen

Check if en_US.UTF-8 is set in /etc/locale.conf. If empty, just add LANG=en_US.UTF-8

echo "LANG=en_US.UTF-8" >> /etc/locale.conf

If you want to set the timezone, all options are available in /sur/share/zoneinfo/, to list them:

ls /usr/share/zoneinfo/

With symbolic link you can set the appropriate time zone, like so:

ln -s /usr/share/zoneinfo/Europe/Sofia /etc/localtime -f

It’s also recommended to set the system clock to UTC:

hwclock --systohc --utc

Don’t forget to set a password to the root user:

passwd

and just type your password, then repeat.

Next we set Hostname in /etc/hostname. That’s your unique computer name:

echo "YourComputerName" >> /etc/hostname

Installing WiFi Packages

If you don’t install these and you are planning to finish the setup over WiFi Connection, after the reboot you may not be able to run wifi-menu. So, just in case, we do this:

pacman -S dialog, wpa_supplicant

Installing GRUB Boot Loader

Finally, we install GRUB – the Boot Loader:

pacman -S grub os-prober
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Unmount & Reboot

That’s it! Now you can exit from chroot, then unmount the partitions in the opposite order, like so:

umount /mnt/home
umount /mnt

and reboot:

reboot

First Start & Add New User

Now you have Arch Linux installed and almost ready. Log in with root and the password you’ve set.

Add a new user – you don’t want to use root as daily user:

useradd -m -G wheel -s /bin/bash YouUserName

Then, add this user to sudoers by editing /etc/sudoers:

nano /etc/sudoers

At the end of the file you will find the group wheel, uncomment that part and modify the line to look like this:

...
# Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
...

Keep in mind, that this is not the most secure way of using Linux. But can save you the frustration of asking for password every time you type sudo.

Finally, change (set) the password for the newly created user:

passwd YourUserName

Install Plasma KDE

First, we need to install Xorg, then a Display Manager and a Window Manager. We want Plasma KDE as Windows Manager and SDDM as Display Manager, so we install the following packages:

pacman -S xorg xorg-drivers sddm plasma-desktop plasma-meta konsole dolphin noto-fonts ttf-dejavu ttf-liberation

Enable the Display Manager:

systemctl enable sddm.service

Setup Network Manager

We want to make sure that, after the reboot, we will end up with properly functional Internet Connection. For that we install and configure the Network Manager. (We don’t want to use wifi-menu anymore.)

pacman -S netowrkmanager

Then, we disable dhcpcd and netclt, because they will be in conflict with the Network Manager:

systemctl disable dhcpcd
systemctl disable netctl

Now we enable and start the Network Manager:

systemctl enable NetworkManager
systemctl start NetworkManager

Done and Done!

Now you can reboot and start the journey!

Enjoy your Arch Linux!

Once you get comfortable with Arch Linux, try XFCE4, instead of Plasma KDE. 🙂

https://wiki.archlinux.org/index.php/Frequently_asked_questions

https://wiki.archlinux.org/index.php/General_recommendations

https://wiki.archlinux.org/index.php/List_of_applications

https://wiki.archlinux.org/index.php/Installation_guide