User:Gemstone

From ArchWiki
Jump to navigation Jump to search

I joined the Arch Wiki because I think that setting up wifi can be explained better than it has been.

wifi-menu doesn't work (Wireless Internet Doesn't work on Arch)

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 dhcpcd@enp0s3.service

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

  1. Synchronize the time.
    timedatectl set-ntp true
    
  2. Create partitions
    Create partitions. You can use fdisk or parted or gparted to do this. I usually use fdisk.
  3. Create filesystems
    (mkfs.ext4 /dev/vda1 or mkfs.ext4 /dev/sda1... and so on)
  4. 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
    
  5. pacstrap step
    # 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.

  6. Generate the file system table (fstab):
    genfstab -U /mnt >> /mnt/etc/fstab
    
  7. arch-chroot step
    # arch-chroot /mnt
    
  8. Set the local time permanently:
    ln -sf /usr/share/zoneinfo/Australia/Brisbane /etc/localtime
    
  9. Set the system clock to the hardware clock's setting:
    hwclock --systohc
    
  10. Edit /etc/locale.gen -- uncomment "en_US_UTF-8 UTF-8"
  11. Set hostname (/etc/hostname)
  12. Make /etc/hosts look like this:
    127.0.0.1           localhost
    ::1                 localhost
    127.0.1.1           arch
    
  13. Set the root password:
    # passwd
    
  14. Install a bootloader.
    # grub-install --target=i386-pc /dev/vda
    
  15. 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.

  16. Enable dhcpcd for the networking device so that your system can connect to the internet:
    # systemctl enable dhcpcd@enp1s0.service
    

    If you fail to do this, your system will not connect to the internet.

  17. Enable the gnome service so that you can use a GUI:
    # systemctl enable gdm.service
    
  18. Create a non-root user:
    # useradd -m username
    # passwd username
    
  19. visudo step
    # visudo
    
  20. Exit the arch-chroot environment.
    # exit
    
  21. Reboot.
    # reboot
    

Changing from one Desktop Manager to another

  1. . Install the desktop manager you want to use.
  2. . Disable the desktop manager you no longer want to use.
  3. . Enable the desktop manager you want to use.
  4. . 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

  1. Run "systemctl status":
    # systemctl status
    
  2. Press / (right-falling slash), which opens a search prompt at the bottom of the screen. Type in *dm.