Skip to content

Guide to Install Arch Linux (no archinstall command)

Notifications You must be signed in to change notification settings

javiorfo/arch-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 

Repository files navigation

archlinux

Arch Linux Installation (UEFI/BIOS)

Preparation

  • Download Arch Linux ISO
  • Make a booteable pendrive using some software. Like Balena Etcher or dd bash program.
  • Connect the booteable pendrive to your PC and then boot from it.

First steps

  • load keyword language (example spanish)
root@archiso# loadkeys es

Wifi Configuration

  • Get the wifi adapter name (wlan0 in this example)
root@archiso# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
    link/ether g2:gb:6g:6g:g3:g9 brd ff:ff:ff:ff:ff:ff permaddr f4:fg:gd:d6:97:gg
  • Set the wifi adapter up
root@archiso# ip link set wlan0 up
  • Configure wifi (essid: network name, password: network password)
root@archiso# wpa_passphrase essid password > /etc/wifiConfig
root@archiso# wpa_supplicant -B -i wlan0 -D wext -c /etc/wifiConfig
root@archiso# dhclient
  • Test connection
root@archiso# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=10.5 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=13.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=11.8 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=116 time=11.9 ms
...

IMPORTANT!

Check if your computer has UEFI or BIOS

  • This is the UEFI output look like
root@archiso# ls /sys/firmware/efi/efivars
 AcpiGlobalVariable-af9ffd67-ec10-488a-9dfc-6cbf5ee22c2e
 AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a
 AdvMitAttrib-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
 AfterReadyToBoot-7b77fb8b-1e0d-4d7e-953f-3980a261e077
 AmiGopPolicySetupData-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
 AMITSESetup-c811fa38-42c8-4579-a9bb-60e94eddfb34
 BiosSetupType-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
 ...
  • This is the BIOS output look like
root@archiso# ls /sys/firmware/efi/efivars
file or directory does not exist

Summing up: UEFI = some output, BIOS = directory not found

Partitions (UEFI)

  • Run to enter the partition manager (if a menu shows up, choose GPT option)
root@archiso# cfdisk
  • Basic partitions
Partition Size Id Type
BOOT 512M EFI System
SWAP Double RAM Linux swap
SYSTEM Rest of your GB Linux filesystem

Format (UEFI)

root@archiso# mkfs.vfat -F32 /dev/sda1
root@archiso# mkfs.ext4 /dev/sda2
root@archiso# mkswap /dev/sda3
root@archiso# swapon

Mount (UEFI)

root@archiso# /dev/sda2 /mnt
root@archiso# /mnt/boot
root@archiso# /mnt/boot/efi
root@archiso# /dev/sda1 /mnt/boot/efi

Partitions (BIOS)

  • Run to enter the partition manager (if a menu shows up, choose DOS option)
root@archiso# cfdisk
  • Basic partitions
Partition Type Size Id Type
BOOTEABLE Primary 512M 83 Linux
SWAP Primary Double RAM 82 Linux swap
SYSTEM Primary Rest of your GB 83 Linux

Format (BIOS)

root@archiso# mkfs.ext2 /dev/sda1
root@archiso# mkfs.ext4 /dev/sda2
root@archiso# mkswap /dev/sda3
root@archiso# swapon

Mount (BIOS)

root@archiso# /dev/sda2 /mnt
root@archiso# /mnt/boot
root@archiso# /dev/sda1 /mnt/boot

Install basic packages (UEFI)

root@archiso# pacstrap /mnt linux linux-firmware base nano grub networkmanager dhcpcd netctl wpa_supplicant dialog efibootmgr

Install basic packages (BIOS)

root@archiso# pacstrap /mnt linux linux-firmware base nano grub networkmanager dhcpcd netctl wpa_supplicant dialog

Generate fstab (UEFI & BIOS)

root@archiso# genfstab /mnt >> /mnt/etc/fstab
  • Check
root@archiso# cat /mnt/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# UUID=XXXXX-XXXX-XXXX-XXXX-XXXX
/dev/sda2           	/         	ext4      	rw,relatime	0 1
...

Host, Clock and Locale configurations (UEFI & BIOS)

  • Mount the filesystem
root@archiso# arch-chroot /mnt
  • Set Host name (whatever name you choose)
root@archiso# echo your_host_name > /etc/hostname
  • Set localtime (choose yours, this is an example with Argentina)
root@archiso# ln -sf /usr/share/zoneinfo/America/Argentina/Buenos_Aires /etc/localtime
  • Set keyword distribution
root@archiso# nano /etc/locale.gen
  • Uncomment the distribution you want (in this example: es_AR.UTF8 UTF8)

archlinux

  • Save file pressing Ctrl+O and Ctrl+X to exit
  • Execute to generate locale:
root@archiso# locale-gen
Generating locales...
    es_AR.UTF8... done
Generation complete.
  • Set Clock
root@archiso# hwclock -w
  • Set language (again, this is an example with Argentina)
root@archiso# echo KEYMAP=es > /etc/wconsole.conf
root@archiso# echo LANG=es_AR.UTF8 > /etc/locale.conf

Installing GRUB (UEFI)

  • Run grub-install with this params
root@archiso# grub-install --efi-directory=/boot/efi --bootloader -id='Arch Linux' --target=x86_64-efi
Installing for x86_64-efi platform
Installation finished. No error reported.
  • Configure grub
root@archiso# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub installation file...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other booteable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

Installing GRUB (BIOS)

  • Run grub-install with this params
root@archiso# grub-install /dev/sda
Installing for i386-pc platform
Installation finished. No error reported.
  • Configure grub
root@archiso# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub installation file...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other booteable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for ...
done

Root and User configuration (UEFI & BIOS)

  • Set root password
root@archiso# passwd
New password:
Retype new password:
passwd: password updated successfully
  • Create user and set password
root@archiso# useradd -m your_user_name
root@archiso# passwd your_user_name
New password:
Retype new password:
passwd: password updated successfully
  • Umount and reboot system
root@archiso# exit
root@archiso# umount -R /mnt
root@archiso# reboot

Wifi Configuration (UEFI & BIOS)

  • Enter your user name to login
Arch Linux 5.17.1-arch1-1 (tty1)

your_host_name login:
Password:
  • Change to root login
[your_user_name@your_host_name ~ ]$ su
Password: 
  • Enable Network Manager
[root@your_host_name your_user_name]# systemctl start NetworkManager
[root@your_host_name your_user_name]# systemctl enable NetworkManager
Created symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service
Created symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service -> /usr/lib/systemd/system/NetworkManager-wait-online.service
  • Get the wifi adapter name (wlp0s9j1 in this example)
[root@your_host_name your_user_name]#ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlp0s9j1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
    link/ether g2:gb:6g:6g:g3:g9 brd ff:ff:ff:ff:ff:ff permaddr f4:fg:gd:d6:97:gg
  • Set the wifi adapter up (wlp0s9j1 in this example)
[root@your_host_name your_user_name]# ip link set wlp0s9j1 up
  • Connet to wifi (essid: network name, your_password: network password)
[root@your_host_name your_user_name]# nmcli dev wifi connect essid password your_password

Drivers (UEFI & BIOS)

  • Check video controllers (in this example: Intel Graphics)
[root@your_host_name your_user_name]# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

According to the output of the previous step, install one of these video cotrollers:

  • NVIDIA
[root@your_host_name your_user_name]# pacman -S xf86-video-nouveau
  • INTEL
[root@your_host_name your_user_name]# pacman -S xf86-video-intel intel-ucode
[root@your_host_name your_user_name]# pacman -S xf86-video-amdgpu

AUR repositories

  • Install base-devel
[your_user_name@your_host_name ~]$ sudo pacman -S --needed git base-devel
  • Download and install paru
[your_user_name@your_host_name ~]$ git clone https://aur.archlinux.org/paru.git
[your_user_name@your_host_name ~]$ cd paru
[your_user_name@your_host_name ~]$ makepkg -si

Environment (UEFI & BIOS)

  • Lightdm
[root@your_host_name your_user_name]# pacman -S --needed xorg lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
  • Enable DM
[root@your_host_name your_user_name]# systemctl enable lightdm
  • Reboot
[root@your_host_name your_user_name]# reboot

More configurations after your first login

Bluetooth - Official Doc

  • Install bluetooth
[your_user_name@your_host_name ~]$ sudo pacman -S bluez bluez-utils blueman
  • Edit bluetooth configuration
[your_user_name@your_host_name ~]$ sudo nano /etc/bluetooth/main.conf
  • Set AutoEnable to true

archlinux

  • Enable bluetooth
[your_user_name@your_host_name ~]$ sudo systemctl start bluetooth
[your_user_name@your_host_name ~]$ sudo systemctl enable bluetooth

Audio - Official Doc

  • Install audio
[your_user_name@your_host_name ~]$ sudo pacman -S pulseaudio pulseaudio-bluetooth pavucontrol
  • Start Pulse Audio
[your_user_name@your_host_name ~]$ sudo systemctl start pulseaudio

Extras

[your_user_name@your_host_name ~]$ sudo pacman -S libreoffice-still mpv neovim transmission-cli gimp

Donate

  • Bitcoin (QR) 1GqdJ63RDPE4eJKujHi166FAyigvHu5R7v
  • Paypal

About

Guide to Install Arch Linux (no archinstall command)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published