- 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.
- load keyword language (example spanish)
root@archiso# loadkeys es
- 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
...
- 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
- 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 |
root@archiso# mkfs.vfat -F32 /dev/sda1
root@archiso# mkfs.ext4 /dev/sda2
root@archiso# mkswap /dev/sda3
root@archiso# swapon
root@archiso# /dev/sda2 /mnt
root@archiso# /mnt/boot
root@archiso# /mnt/boot/efi
root@archiso# /dev/sda1 /mnt/boot/efi
- 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 |
root@archiso# mkfs.ext2 /dev/sda1
root@archiso# mkfs.ext4 /dev/sda2
root@archiso# mkswap /dev/sda3
root@archiso# swapon
root@archiso# /dev/sda2 /mnt
root@archiso# /mnt/boot
root@archiso# /dev/sda1 /mnt/boot
root@archiso# pacstrap /mnt linux linux-firmware base nano grub networkmanager dhcpcd netctl wpa_supplicant dialog efibootmgr
root@archiso# pacstrap /mnt linux linux-firmware base nano grub networkmanager dhcpcd netctl wpa_supplicant dialog
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
...
- 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)
- Save file pressing
Ctrl+O
andCtrl+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
- 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
- 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
- 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
- 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
- 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)
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
- 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
- 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
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
- 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
[your_user_name@your_host_name ~]$ sudo pacman -S libreoffice-still mpv neovim transmission-cli gimp