Hello, here I will share how I installed Arch Linux on a new PC I got. Obviously the installation varies on numerous factors but I will share my method and hopefully it helps you (and future me).
First you need to download the Arch Linux ISO file which can be found here: https://archlinux.org/download/
Next if your installing on a PC you will need to create a bootable media, if your using a virtual environment this is not necessary but the steps to do this can be found here: https://dev.to/ethand91/how-to-create-a-bootable-usb-device-on-macos-3bke
The default layout is US, but if your like me and need to change the keyboard layout you can do so via the following commands:
# List the available layouts ls /usr/share/kbd/keymaps/**/*.map.gz # Set the keyboard layout loadkeys jp106
This will vary depending on if your using a ethernet cable, in my case I'm using Wifi so I use the following to connect to the internet:
iwctl [iwctl] device list [iwctl] station wlan0 scan [iwctl] station wlan0 get-networks [iwctl] station wlan0 connect [network name] # You can check if you're connected via: ping google.com
You can update the system clock via:
timedatectl set-ntp true
The devices can be found in /dev directory. Partitioning can be done via the fdisk command:
# List the devices fdisk -l # Create the EFI partition (NOTE: you do not need to do this if a EFI partition is already available) [fdisk] n [fdisk] ENTER [fdisk] +300M [fdisk] ENTER # Create the swap partition [fdisk] n [fdisk] ENTER [fdisk] +1G [fdisk] ENTER # Create the root partition, here we will use all the remaining space [fdisk] n [fdisk] ENTER [fdisk] ENTER # Finally save the partitions and exit fdisk via Ctrl-D [fdisk] w
Now that the partitions have been created we need to format them:
# Format the EFI partition (NOTE: only do this if you created the partition in the above step) mkfs.fat -F 32 [EFI] # Initialize the swap partition mkswap [swap] # Create an Ext4 file system mkfs.ext4 [root]
Next we need to mount the root volume and enable the swap volume:
mount [root] /mnt swapon [swap]
Next we need to install the essential packages and some optional ones, I prefer vim but you can use any IDE you want.
pacstrap /mnt base linux-lts linux-lts-headers linux-firmware vim wget
Next we need to generate an fstab file and change root into the new system.
genfstab -U /mnt >> /mnt/etc/fstab (NOTE: check the fstab file for errors) arch-chroot /mnt
The timezone can be configured via the following commands:
ln -sf /usr/share/zoneinfo/Japan /etc/localtime hwclock --systohc
Next we need to generate the locales and keymap.
# Uncomment any need locales from the following file: vim /etc/locale.gen (LANG=ja_JP.UTF-8) # Set the keyboard layout vim /etc/vconsole.conf (KEYMAP=jp106)
Create the following file and give the machine a unique name.
The root password can be changed via the following simple command
Next we need to install and configure a bootloader, for this I will be using GRUB and machine has an Intel CPU you will need to enable the AMD microcode updates if you have an AMD CPU.
pacman -S intel-ucode pacman -S grub efibootmgr # Configure EFI grub-install --target=x86_64-efi --efi-directory=/mnt/efi --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg
Next we need to create a user that will use the machine, we will also install sudo and add the user to the sudoers list.
useradd -m [user] passwd [user] usermod -aG wheel [user] # Install and enable sudo pacman -S sudo vim /etc/sudoers (Uncomment wheel)
Next we need to setup the Graphical User Interface.
pacman -S xorg xorg-server pacman -S gnome gnome-tweaks # Enable the service systemctl enable gdm
Since I'm using a Japanese keyboard etc the fonts also need to be installed and configured, if you do not need them please skip to the next step.
pacman -S adobe-source-han-sans-jp-fonts pacman -S fcitx-im fcitx-configtool fcitx-mozc fcitx vim /home/[user]/.xprofile export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"
Next we need to install and enable the network manager
pacman -S networkmanager systemctl enable NetworkManager
pacman -S networkmanager systemctl enable NetworkManager pacman -S nvidia-lts pacman -S base-devel pacman -S bluez systemctl enable bluetooth
Now we can finally install any optional packages, since I have a Nvidia Graphics card I will also install the drivers.
# Graphic card drivers pacman -S nvidia-lts # Development packages pacman -S base-devel # Bluetooth pacman -S bluez systemctl enable bluetooth
Feel free to add any other packages you may need.
Here I have shown how I install Arch Linux, feel free to use it as a reference and if you have any improvements please let me know. 😃
Also side note I'm still working on my WebRTC Android Tutorial, however the API has changed slightly and my schedule is hectic. Please wait a little longer if you are following my WebRTC tutorial. 🙏
Like me work? I post about a variety of topics, if you would like to see more please like and follow me. Also I love coffee.