Installing Arch Linux on Wireless Only EFI Laptop

From GlassTTY
Jump to: navigation, search

This article describes how to set up an Acer V5 122P for use with Arch Linux. This does not describe how to implement a dual boot system. This process is slightly different to other installs in that there is no wire ethernet connection on this device.

Create a USB Live boot device. (See Arch Wiki)

Set the bios by adding a System password and diabling secure boot. This will allow the machine to be booted from USB. Also either set the boot order to USB first or enable the F12 boot manager.

Boot to the live USB device and run FDisk

   fdisk /dev/sda

Clear any existing partitions

The machine is UEFI enabled, therefore, an EFI partition should be created (type EFI) at /dev/sda1 e.g. 550MiB in size (use the +550M option)

I used the following settings for my set up

   /dev/sda1 +550MiB  (Type EFI)
   /dev/sda2 +457G  (Type Linux)
   /sda/sda2 defaults (8.2G) (Type Swap)

Configure the Filesystems and Swap Partition

For the above setup, the partitions would be formatted as follows

   mkfs.fat -F32 /dev/sda1
   mkfs.ext4 /dev/sda2

Configre the swap partition

   mkswap /dev/sda3
   swapon /dev/sda3

Wireless Network Connection

The installation requires a network connection. For example to set up the wifi interface 'wlp1s0' to connect to SSID 'AIF' with the password 'secret' the following commands can be used.

   wpa_pasphrase AIF secret
   wpa_supplicant -B -i wlp1s0 -c <(wpa_passphase AIF secret)
   dhcpcd wlp1s0

Standard Installation

Proceed with the standard installation e.g.

   mount /dev/sda2 /mnt
   mkdir /mnt/boot
   mount /dev/sda1 /mnt/boot

Install the base packages

   pacstrap /mnt base

Generate an fstab file

   genfstab -U /mnt >> /mnt/etc/fstab

Change Root into the new system

   arch-chroot /mnt

Set the hostname in the file /etc/hostname and add a matching entry in /etc/hosts e.g.

   127.0.1.1	myhostname.localdomain	myhostname

Edit the /etc/locale.gen and uncomment the appropriate line e.g.

   en_GB.UTF-8 UTF-8

Execute the following (GB example shown)

   locale-gen
   echo LANG=en_GB.UTF-8 > /etc/locale.config
   export LANG=en_GB.UTF-8

The following command shows all of the available timezones

   ls /usr/share/zoneinfo/

The basic install should add a symbolic link in /etc/localtime. However, if this is not present, a new link can be added as follows.

   ln -sf /usr/share/zoneinfo/Zone/Subzone /etc/localtime

e.g. for GB

   ln -sf /usr/share/zoneinfo/GB /etc/localtime

Set the hardware clock to UTC

   hwclock --systohc --utc

Install networking

   pacman -S iw
   pacman -S wpa_supplicant
   pacman -S dialog

Set the root password

   passwd

GRUB Using EFI

Install Grub and EFI Boot Manager

   pacman -S grub
   pacman -S efibootmgr
   grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
   grub-mkconfig -o /boot/grub/grub.cfg

Unmount the system

   exit
   umount -R /mnt
   reboot

Remove the USB boot media and wait for the system to boot. Once the machine is up and running the locale and timezone can be configured as required.

Configuring Automatic Networking

Copy the netctrl profile wireless-wpa from /etc/netctl/examples to /etc/netctl and edit the file with the interface (e.g. wlp1s0, SSID and key)

Use the following command to start and enable the network

   netctl start wireless-wpa
   netctl enable wireless-wpa

Add a User

   $ useradd -m -G wheel -s /bin/bash john

If not asked to enter a password log in as root (or su) and set the password

   $ passwd john

Log in as root (or su) and change the root password

   $ passwd

Desktop Environment

YThe following is an example of how to install either Gnome or LXDE (or both)

Install Gnome (with GDM display manager)

Note: If the steps above for locale have been skipped, Gnome Terminal may not start up properly. Therefore, consider installing Xterm, just in case. e.g.

   pacman -S xterm

Gnome can be installed with

   pacman -S gnome
   pacman -S gnome-extra
   
   systemctl start gdm

If all is OK and the system boots to a usable Desktop, enable GDM at start up, e.g.

   systemctl enable gdm

Installing LXDE (with LXDM display manager)

   pacman -S lxde
   
   systemctl start lxdm

If all is OK and the system boots to a usable Desktop, enable LXDM at start up, e.g.

   systemctl enable lxdm

Installing KDE Plasma (with SDDM display manager)

   pacman -S plasma
   pacman -S kde-applications
   
   systemctl start sddm

If all is OK and the system boots to a usable Desktop, enable LXDM at start up, e.g.

   systemctl enable sddm