{"id":22006340,"url":"https://github.com/javiorfo/arch-install","last_synced_at":"2025-03-23T06:43:58.255Z","repository":{"id":71129992,"uuid":"596340745","full_name":"javiorfo/arch-install","owner":"javiorfo","description":"Guide to Install Arch Linux (no archinstall command)","archived":false,"fork":false,"pushed_at":"2024-08-14T02:20:53.000Z","size":230,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-14T03:58:13.839Z","etag":null,"topics":["archinstall","archlinux","xmobar","xmonad","xmonarch"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/javiorfo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-02T00:57:21.000Z","updated_at":"2024-08-14T03:58:15.518Z","dependencies_parsed_at":"2023-07-09T18:01:30.697Z","dependency_job_id":"a2359800-5534-40e3-9a15-3be42e81ee67","html_url":"https://github.com/javiorfo/arch-install","commit_stats":null,"previous_names":["charkuils/arch-install","javiorfo/arch-install","caosystema/arch-install","progrimorio/arch-install","orfosys/arch-install","chaosystema/arch-install"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javiorfo%2Farch-install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javiorfo%2Farch-install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javiorfo%2Farch-install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javiorfo%2Farch-install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/javiorfo","download_url":"https://codeload.github.com/javiorfo/arch-install/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245066524,"owners_count":20555404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archinstall","archlinux","xmobar","xmonad","xmonarch"],"created_at":"2024-11-30T01:11:37.651Z","updated_at":"2025-03-23T06:43:58.234Z","avatar_url":"https://github.com/javiorfo.png","language":null,"funding_links":["https://www.paypal.com/donate/?hosted_button_id=FA7SGLSCT2H8G"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/javiorfo/arch-install/blob/master/archlogo.png?raw=true\" alt=\"archlinux\" style=\"width:200px;\"/\u003e\n\n# Arch Linux Installation (UEFI/BIOS)\n\n## Preparation\n- Download [Arch Linux ISO](https://archlinux.org/download/)\n- Make a booteable pendrive using some software. Like [Balena Etcher](https://www.balena.io/etcher/) or **dd** bash program.\n- Connect the booteable pendrive to your PC and then boot from it.\n\n## First steps\n- load keyword language (example spanish)\n```console\nroot@archiso# loadkeys es\n```\n\n## Wifi Configuration\n- Get the wifi adapter name (wlan0 in this example)\n```console\nroot@archiso# ip link\n1: lo: \u003cLOOPBACK,UP,LOWER_UP\u003e mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: wlan0: \u003cNO-CARRIER,BROADCAST,MULTICAST,UP\u003e mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000\n    link/ether g2:gb:6g:6g:g3:g9 brd ff:ff:ff:ff:ff:ff permaddr f4:fg:gd:d6:97:gg\n```\n- Set the wifi adapter up\n```console\nroot@archiso# ip link set wlan0 up\n```\n- Configure wifi (essid: network name, password: network password)\n```console\nroot@archiso# wpa_passphrase essid password \u003e /etc/wifiConfig\nroot@archiso# wpa_supplicant -B -i wlan0 -D wext -c /etc/wifiConfig\nroot@archiso# dhclient\n```\n- Test connection\n```console\nroot@archiso# ping 8.8.8.8\nPING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.\n64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=10.5 ms\n64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=13.8 ms\n64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=11.8 ms\n64 bytes from 8.8.8.8: icmp_seq=4 ttl=116 time=11.9 ms\n...\n```\n# IMPORTANT! \n## Check if your computer has UEFI or BIOS\n- This is the UEFI output look like\n```console\nroot@archiso# ls /sys/firmware/efi/efivars\n AcpiGlobalVariable-af9ffd67-ec10-488a-9dfc-6cbf5ee22c2e\n AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a\n AdvMitAttrib-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9\n AfterReadyToBoot-7b77fb8b-1e0d-4d7e-953f-3980a261e077\n AmiGopPolicySetupData-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9\n AMITSESetup-c811fa38-42c8-4579-a9bb-60e94eddfb34\n BiosSetupType-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9\n ...\n```\n- This is the BIOS output look like\n```console\nroot@archiso# ls /sys/firmware/efi/efivars\nfile or directory does not exist\n```\n### Summing up: UEFI = some output, BIOS = directory not found\n\n\n## Partitions (UEFI)\n- Run to enter the partition manager (if a menu shows up, choose GPT option)\n```console\nroot@archiso# cfdisk\n```\n- Basic partitions\n\n| Partition | Size              | Id Type          |\n| --------- | ----------------- | ---------------- |\n| BOOT      | 512M              | EFI System       |\n| SWAP      | Double RAM        | Linux swap       | \n| SYSTEM    | Rest of your GB   | Linux filesystem |\n\n## Format (UEFI)\n```console\nroot@archiso# mkfs.vfat -F32 /dev/sda1\nroot@archiso# mkfs.ext4 /dev/sda2\nroot@archiso# mkswap /dev/sda3\nroot@archiso# swapon\n```\n\n## Mount (UEFI)\n```console\nroot@archiso# /dev/sda2 /mnt\nroot@archiso# /mnt/boot\nroot@archiso# /mnt/boot/efi\nroot@archiso# /dev/sda1 /mnt/boot/efi\n```\n\n## Partitions (BIOS)\n- Run to enter the partition manager (if a menu shows up, choose DOS option)\n```console\nroot@archiso# cfdisk\n```\n- Basic partitions\n\n| Partition | Type     | Size              | Id Type          |\n| --------- | -------- | ----------------- | ---------------- |\n| BOOTEABLE | Primary  | 512M              | 83 Linux         |\n| SWAP      | Primary  | Double RAM        | 82 Linux swap    | \n| SYSTEM    | Primary  | Rest of your GB   | 83 Linux         |\n\n## Format (BIOS)\n```console\nroot@archiso# mkfs.ext2 /dev/sda1\nroot@archiso# mkfs.ext4 /dev/sda2\nroot@archiso# mkswap /dev/sda3\nroot@archiso# swapon\n```\n\n## Mount (BIOS)\n```console\nroot@archiso# /dev/sda2 /mnt\nroot@archiso# /mnt/boot\nroot@archiso# /dev/sda1 /mnt/boot\n```\n\n## Install basic packages (UEFI)\n```console\nroot@archiso# pacstrap /mnt linux linux-firmware base nano grub networkmanager dhcpcd netctl wpa_supplicant dialog efibootmgr\n```\n\n## Install basic packages (BIOS)\n```console\nroot@archiso# pacstrap /mnt linux linux-firmware base nano grub networkmanager dhcpcd netctl wpa_supplicant dialog\n```\n\n## Generate fstab (UEFI \u0026 BIOS)\n```console\nroot@archiso# genfstab /mnt \u003e\u003e /mnt/etc/fstab\n```\n- Check \n```console\nroot@archiso# cat /mnt/etc/fstab\n# Static information about the filesystems.\n# See fstab(5) for details.\n\n# \u003cfile system\u003e \u003cdir\u003e \u003ctype\u003e \u003coptions\u003e \u003cdump\u003e \u003cpass\u003e\n# UUID=XXXXX-XXXX-XXXX-XXXX-XXXX\n/dev/sda2           \t/         \text4      \trw,relatime\t0 1\n...\n```\n\n## Host, Clock and Locale configurations (UEFI \u0026 BIOS)\n- Mount the filesystem\n```console\nroot@archiso# arch-chroot /mnt\n```\n- Set Host name (whatever name you choose)\n```console\nroot@archiso# echo your_host_name \u003e /etc/hostname\n```\n- Set localtime (choose yours, this is an example with Argentina)\n```console\nroot@archiso# ln -sf /usr/share/zoneinfo/America/Argentina/Buenos_Aires /etc/localtime\n```\n- Set keyword distribution\n```console\nroot@archiso# nano /etc/locale.gen\n```\n- Uncomment the distribution you want (in this example: es_AR.UTF8 UTF8)\n\u003cimg src=\"https://github.com/javiorfo/arch-install/blob/master/arch-locale.png?raw=true\" alt=\"archlinux\" style=\"width:600px;\"/\u003e\n\n- Save file pressing `Ctrl+O` and `Ctrl+X` to exit\n- Execute to generate locale:\n```console\nroot@archiso# locale-gen\nGenerating locales...\n    es_AR.UTF8... done\nGeneration complete.\n```\n- Set Clock\n```console\nroot@archiso# hwclock -w\n```\n- Set language (again, this is an example with Argentina)\n```console\nroot@archiso# echo KEYMAP=es \u003e /etc/wconsole.conf\nroot@archiso# echo LANG=es_AR.UTF8 \u003e /etc/locale.conf\n```\n\n## Installing GRUB (UEFI)\n- Run `grub-install` with this params\n```console\nroot@archiso# grub-install --efi-directory=/boot/efi --bootloader -id='Arch Linux' --target=x86_64-efi\nInstalling for x86_64-efi platform\nInstallation finished. No error reported.\n```\n- Configure grub\n```console\nroot@archiso# grub-mkconfig -o /boot/grub/grub.cfg\nGenerating grub installation file...\nFound linux image: /boot/vmlinuz-linux\nFound initrd image: /boot/initramfs-linux.img\nFound fallback initrd image(s) in /boot: initramfs-linux-fallback.img\nWarning: os-prober will not be executed to detect other booteable partitions.\nSystems on them will not be added to the GRUB boot configuration.\nCheck GRUB_DISABLE_OS_PROBER documentation entry.\nAdding boot menu entry for UEFI Firmware Settings ...\ndone\n```\n\n## Installing GRUB (BIOS)\n- Run `grub-install` with this params\n```console\nroot@archiso# grub-install /dev/sda\nInstalling for i386-pc platform\nInstallation finished. No error reported.\n```\n- Configure grub\n```console\nroot@archiso# grub-mkconfig -o /boot/grub/grub.cfg\nGenerating grub installation file...\nFound linux image: /boot/vmlinuz-linux\nFound initrd image: /boot/initramfs-linux.img\nFound fallback initrd image(s) in /boot: initramfs-linux-fallback.img\nWarning: os-prober will not be executed to detect other booteable partitions.\nSystems on them will not be added to the GRUB boot configuration.\nCheck GRUB_DISABLE_OS_PROBER documentation entry.\nAdding boot menu entry for ...\ndone\n```\n\n## Root and User configuration (UEFI \u0026 BIOS)\n- Set root password\n```console\nroot@archiso# passwd\nNew password:\nRetype new password:\npasswd: password updated successfully\n```\n- Create user and set password\n```console\nroot@archiso# useradd -m your_user_name\nroot@archiso# passwd your_user_name\nNew password:\nRetype new password:\npasswd: password updated successfully\n```\n- Umount and reboot system\n```console\nroot@archiso# exit\nroot@archiso# umount -R /mnt\nroot@archiso# reboot\n```\n\n## Wifi Configuration (UEFI \u0026 BIOS)\n- Enter your user name to login\n```console\nArch Linux 5.17.1-arch1-1 (tty1)\n\nyour_host_name login:\nPassword:\n```\n- Change to root login\n```console\n[your_user_name@your_host_name ~ ]$ su\nPassword: \n```\n- Enable Network Manager\n```console\n[root@your_host_name your_user_name]# systemctl start NetworkManager\n[root@your_host_name your_user_name]# systemctl enable NetworkManager\nCreated symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service -\u003e /usr/lib/systemd/system/NetworkManager.service\nCreated symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service -\u003e /usr/lib/systemd/system/NetworkManager-dispatcher.service\nCreated symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service -\u003e /usr/lib/systemd/system/NetworkManager-wait-online.service\n```\n- Get the wifi adapter name (wlp0s9j1 in this example)\n```console\n[root@your_host_name your_user_name]#ip link\n1: lo: \u003cLOOPBACK,UP,LOWER_UP\u003e mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: wlp0s9j1: \u003cNO-CARRIER,BROADCAST,MULTICAST,UP\u003e mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000\n    link/ether g2:gb:6g:6g:g3:g9 brd ff:ff:ff:ff:ff:ff permaddr f4:fg:gd:d6:97:gg\n```\n- Set the wifi adapter up (wlp0s9j1 in this example)\n```console\n[root@your_host_name your_user_name]# ip link set wlp0s9j1 up\n```\n- Connet to wifi (essid: network name, your_password: network password)\n```console\n[root@your_host_name your_user_name]# nmcli dev wifi connect essid password your_password\n```\n\n## Drivers (UEFI \u0026 BIOS)\n- Check video controllers (in this example: Intel Graphics)\n```console\n[root@your_host_name your_user_name]# lspci | grep VGA\n00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)\n```\n#### According to the output of the previous step, install one of these video cotrollers:\n- `NVIDIA`\n```console\n[root@your_host_name your_user_name]# pacman -S xf86-video-nouveau\n```\n- `INTEL`\n```console\n[root@your_host_name your_user_name]# pacman -S xf86-video-intel intel-ucode\n```\n- `AMD/ATI` [IMPORTANT for AMD troubleshooting](https://wiki.archlinux.org/title/AMDGPU)\n```console\n[root@your_host_name your_user_name]# pacman -S xf86-video-amdgpu\n```\n\n## AUR repositories\n- Install base-devel\n```console\n[your_user_name@your_host_name ~]$ sudo pacman -S --needed git base-devel\n```\n- Download and install paru\n```console\n[your_user_name@your_host_name ~]$ git clone https://aur.archlinux.org/paru.git\n[your_user_name@your_host_name ~]$ cd paru\n[your_user_name@your_host_name ~]$ makepkg -si\n```\n\n## Environment (UEFI \u0026 BIOS)\n- Lightdm\n```console\n[root@your_host_name your_user_name]# pacman -S --needed xorg lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings\n```\n\n- Enable DM\n```console\n[root@your_host_name your_user_name]# systemctl enable lightdm\n```\n- Reboot \n```console\n[root@your_host_name your_user_name]# reboot\n```\n\n# More configurations after your first login\n## Bluetooth - [Official Doc](https://wiki.archlinux.org/title/Bluetooth)\n- Install bluetooth\n```console\n[your_user_name@your_host_name ~]$ sudo pacman -S bluez bluez-utils blueman\n```\n- Edit bluetooth configuration\n```console\n[your_user_name@your_host_name ~]$ sudo nano /etc/bluetooth/main.conf\n```\n- Set AutoEnable to true\n\n\u003cimg src=\"https://github.com/javiorfo/arch-install/blob/master/arch-bluetooth.jpg?raw=true\" alt=\"archlinux\" style=\"width:600px;\"/\u003e\n\n- Enable bluetooth\n```console\n[your_user_name@your_host_name ~]$ sudo systemctl start bluetooth\n[your_user_name@your_host_name ~]$ sudo systemctl enable bluetooth\n```\n\n## Audio - [Official Doc](https://wiki.archlinux.org/title/PulseAudio)\n- Install audio\n```console\n[your_user_name@your_host_name ~]$ sudo pacman -S pulseaudio pulseaudio-bluetooth pavucontrol\n```\n- Start Pulse Audio\n```console\n[your_user_name@your_host_name ~]$ sudo systemctl start pulseaudio\n```\n\n## Extras\n```console\n[your_user_name@your_host_name ~]$ sudo pacman -S libreoffice-still mpv neovim transmission-cli gimp\n```\n\n---\n\n### Donate\n- **Bitcoin** [(QR)](https://raw.githubusercontent.com/javiorfo/img/master/crypto/bitcoin.png)  `1GqdJ63RDPE4eJKujHi166FAyigvHu5R7v`\n- [Paypal](https://www.paypal.com/donate/?hosted_button_id=FA7SGLSCT2H8G) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaviorfo%2Farch-install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaviorfo%2Farch-install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaviorfo%2Farch-install/lists"}