I joined the Arch Wiki because I think that setting up wifi can be explained better than it has been.
I got the following message after rebooting during the installation:
Scanning for networks... You need to install 'wpa_supplicant' failed No networks found
In order to remedy this, you have to install 'wpa_supplicant' before the reboot. This can be done during the 'pacstrap /mnt' step.
In my case, I had followed the wiki blindly, and had set up a dhcp service in the following way:
[root@archiso /]# systemctl enable email@example.com
That creates a conflict with netctl.
After the reboot, wifi-menu would not work. Here's how I fixed it:
# ip link set wlp3s0 down # wifi-menu # wifi-menu -o # cd /etc/netctl # netctl start wlp3s0_TP-Link # netctl enable wlp3s0_TP-Link
'netctl' expects the wireless device to be in a down state. 'wifi-menu' wraps 'netctl'. 'wifi-menu' will not work unless the network device is in a down state.
In the above list of commands, "wlp3s0" is the name of the wireless device in the computer. "TP-Link" is the name of the router. Arch Linux's "wifi-menu -o" command creates a communications profile made of these two elements. That profile resides in the "/etc/netctl/" directory.
This information took me two years to articulate.
The wiki needs to have a better wireless configuration section.
Installation Procedure for archlinux-2020.02.01-x86_64.iso
- Synchronize the time.
timedatectl set-ntp true
Create partitions. You can use fdisk or parted or gparted to do this. I usually use fdisk.
(mkfs.ext4 /dev/vda1 or mkfs.ext4 /dev/sda1... and so on)
Mount the filesystems that you've just created
# mount /dev/vda2 /mnt # mkdir -p /mnt/boot # mount /dev/vda1 /mnt/boot # mkdir -p /mnt/home # mount /dev/vda3 /mnt/home
# pacstrap /mnt base linux linux-firmware vim dhcpcd grub man-db man-pages texinfo sudo gdm gnome gnome-extra openssh xterm gnome-terminal
"linux" installs the Linux kernel. You can use "linux-lts" in its place to install the Linux long term support kernel. If that means nothing to you, just know that both ways work.
Generate the file system table (fstab):
genfstab -U /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
Set the local time permanently:
ln -sf /usr/share/zoneinfo/Australia/Brisbane /etc/localtime
Set the system clock to the hardware clock's setting:
- Edit /etc/locale.gen -- uncomment "en_US_UTF-8 UTF-8"
- Set hostname (/etc/hostname)
Make /etc/hosts look like this:
127.0.0.1 localhost ::1 localhost 127.0.1.1 arch
Set the root password:
Install a bootloader.
# grub-install --target=i386-pc /dev/vda
Create the GNU GRand Unified Bootloader configuration file:
# grub-mkconfig -o /boot/grub/grub.cfg
If you fail to do this, your system will not boot.
Enable dhcpcd for the networking device so that your system can connect to the internet:
# systemctl enable firstname.lastname@example.org
If you fail to do this, your system will not connect to the internet.
Enable the gnome service so that you can use a GUI:
# systemctl enable gdm.service
Create a non-root user:
# useradd -m username # passwd username
Exit the arch-chroot environment.
Changing from one Desktop Manager to another
- . Install the desktop manager you want to use.
- . Disable the desktop manager you no longer want to use.
- . Enable the desktop manager you want to use.
- . Reboot.
In this example, GDM is enabled as the desktop manager and you want to use lxdm:
# pacman -S lxdm # systemctl disable gdm # systemctl enable lxdm
Determining which desktop manager is currently loaded
Run "systemctl status":
# systemctl status
- Press / (right-falling slash), which opens a search prompt at the bottom of the screen. Type in *dm.