Skip to content

Instantly share code, notes, and snippets.

@PedroZappa
Last active April 4, 2025 20:20
Show Gist options
  • Save PedroZappa/3a366b3b488ec231e6fcb624f8dbcbc5 to your computer and use it in GitHub Desktop.
Save PedroZappa/3a366b3b488ec231e6fcb624f8dbcbc5 to your computer and use it in GitHub Desktop.

Revisions

  1. Zedro Pappa revised this gist Apr 4, 2025. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions arch-install.md
    Original file line number Diff line number Diff line change
    @@ -152,6 +152,14 @@ mkfs.fat -F32 /dev/nvme0n1p1
    mkfs.ext4 /dev/nvme0n1p2
    ```

    * Format `SWAP` partition

    ```sh
    mkfs.ext4 /dev/nvme0n1p3
    mkswap /dev/nvme0n1p3
    swapon /dev/nvme0n1p3
    ```

    * Format `/` partition

    ```sh
  2. Zedro Pappa revised this gist Apr 4, 2025. 1 changed file with 11 additions and 1 deletion.
    12 changes: 11 additions & 1 deletion arch-install.md
    Original file line number Diff line number Diff line change
    @@ -50,13 +50,15 @@ ip addr show
    ```sh
    iwctl
    ```

    > Drops you into `iwctl`'s prompt
    * List all available networks (in Ex.: `wlon0`)

    ```sh
    [iwd]# station wlon0 get-networks
    ```

    > `Ctrl+C` out of `iwctl`
    * Connect to chosen <network>
    @@ -65,7 +67,7 @@ iwctl
    iwctl --passphrase "networkPassphrase" station wlon0 connect <network>
    ```

    ___
    ____

    ## Setup Drives

    @@ -114,6 +116,14 @@ n
    > Set: Default, Default, +1G
    > Accept: y
    * Create new partition (`SWAP`)

    ```sh
    n
    ```
    > Set: Default, Default, +34G (System RAM + 2 GB)
    > Accept: y
    * Create new partition (`/`)

    ```sh
  3. Zedro Pappa revised this gist Apr 1, 2025. 1 changed file with 69 additions and 5 deletions.
    74 changes: 69 additions & 5 deletions arch-install.md
    Original file line number Diff line number Diff line change
    @@ -1,10 +1,44 @@
    # Arch Linux Manual Install

    <!-- mtoc-start -->

    * [Get on a Network](#get-on-a-network)
    * [Setup Drives](#setup-drives)
    * [Setup Partitions](#setup-partitions)
    * [Format Partitions](#format-partitions)
    * [Install Kernel Modules](#install-kernel-modules)
    * [Mount Partitions](#mount-partitions)
    * [Handle `/` (root)](#handle--root)
    * [Handle `boot`](#handle-boot)
    * [Install Minimal Required Packages](#install-minimal-required-packages)
    * [Generate `fstab` file](#generate-fstab-file)
    * [Log into Arch Linux installation](#log-into-arch-linux-installation)
    * [Set root password](#set-root-password)
    * [Create user (ex.: `zedro`) & set user password](#create-user-ex-zedro--set-user-password)
    * [Get User Aditional Packages](#get-user-aditional-packages)
    * [Get Linux Kernels (bleeding edge & lts)](#get-linux-kernels-bleeding-edge--lts)
    * [Get Optional Firmware (Recommended)](#get-optional-firmware-recommended)
    * [Setup Video Card Driver (Ex.: `NVidia`)](#setup-video-card-driver-ex-nvidia)
    * [Generate Kernel Utils](#generate-kernel-utils)
    * [Set Locale Information](#set-locale-information)
    * [Generate Selected Locale](#generate-selected-locale)
    * [Setup `EFI` Partition](#setup-efi-partition)
    * [Setup `GRUB`](#setup-grub)
    * [Install `GRUB`](#install-grub)
    * [Setup `boot` Directory](#setup-boot-directory)
    * [Generate `GRUB` configuration file](#generate-grub-configuration-file)
    * [Enable Services](#enable-services)
    * [Enable `OpenSSH`](#enable-openssh)
    * [Enable `gdm`](#enable-gdm)
    * [Enable `Network Manager`](#enable-network-manager)
    * [Finish & Reboot](#finish--reboot)

    <!-- mtoc-end -->

    ____

    ## Get on a Network


    * Check IP Address Information

    ```sh
    @@ -65,51 +99,59 @@ g
    ```

    * Create new partition (`boot`)

    ```sh
    n
    ```
    > Set: Default, Default, +1G
    > Accept: y
    * Create new partition (`EFI`)

    ```sh
    n
    ```
    > Set: Default, Default, +1G
    > Accept: y
    * Create new partition (`/`)

    ```sh
    n
    ```
    > Set: Default, Default, Default
    > Accept: y
    * Save and exit `fdisk`

    ```sh
    w
    ```

    ### Format Partitions

    * Format `boot` partition

    ```sh
    mkfs.fat -F32 /dev/nvme0n1p1
    ```

    * Format `EFI` partition

    ```sh
    mkfs.ext4 /dev/nvme0n1p2
    ```

    * Format `/` partition

    ```sh
    mkfs.ext4 /dev/nvme0n1p3
    ```

    ### Install Kernel Modules

    * Get Advanced Storage Configuration support (just to be safe)

    ```sh
    modprobe dm_mod
    ```
    @@ -119,18 +161,21 @@ modprobe dm_mod
    #### Handle `/` (root)

    * Mount `/` (root)

    ```sh
    mount /dev/nvme0n1p3 /mnt
    ```

    #### Handle `boot`

    * Create `/mnt/boot/` directory

    ```sh
    mkdir /mnt/boot
    ```

    * Mount `boot`

    ```sh
    mount /dev/nvme0n1p2 /mnt/boot
    ```
    @@ -142,110 +187,129 @@ pacstrap -i /mnt base
    ```

    ### Generate `fstab` file

    > Tell the file system filesystems to mount
    ```sh
    genfstab -U /mnt >> /mnt/etc/fstab
    ```

    * To check the current filesystems

    ```sh
    cat /mnt/etc/fstab
    ```

    ___
    ____

    ## Log into Arch Linux installation

    ```sh
    arch-chroot /mnt
    ```

    ### Set root password

    ```sh
    passwd
    ```

    ### Create user (ex.: `zedro`) & set user password

    ```sh
    useradd -m -g users -G wheel zedro
    passwd zedro
    ```

    ### Get User Additional Packages
    ```sh
    ### Get User Aditional Packages

    ```sh
    pacman -S base-devel dosfstools grub efibootmgr gnome gnome-tweaks mtools vim git firefox networkmanager openssh sudo
    ```

    ### Get Linux Kernels (bleeding edge & lts)

    ```sh
    pacman -S linux linux-headers linux-lts linux-lts-headers
    ```

    ### Get Optional Firmware (Recommended)

    ```sh
    pacman -S linux-firmware
    ```

    ### Setup Video Card Driver (Ex.: `NVidia`)

    ```sh
    pacman -S nvidia nvidia-utils nvidia-lts
    ```

    ### Generate Kernel Utils

    ```sh
    mkinitcpio -p linux # for bleeding-edge kernel
    mkinitcpio -p linux-lts # for lts kernel
    ```

    ### Set Locale Information

    ```sh
    vim /etc/locale.gen
    ```
    > Uncomment the desired local UTF-8 option
    #### Generate Selected Locale

    ```sh
    locale-gen
    ```

    ### Setup `EFI` Partition

    ```sh
    mkdir /boot/EFI
    mount /dev/nvme0n1p1 /boot/EFI
    ```

    ### Setup `GRUB`

    #### Install `GRUB`

    ```sh
    grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
    ```

    #### Setup `boot` Directory

    ```sh
    cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
    ```

    #### Generate `GRUB` configuration file

    ```sh
    grub-mkconfig -o /boot/grub/grub.cfg
    ```

    ___
    ____

    ## Enable Services

    ### Enable `OpenSSH`

    ```sh
    systemctl enable sshd
    ```

    ### Enable `gdm`

    ```sh
    systemctl enable gdm
    ```

    ### Enable `Network Manager`

    ```sh
    systemctl enable NetworkManager
    ```
  4. Zedro Pappa revised this gist Apr 1, 2025. 1 changed file with 10 additions and 0 deletions.
    10 changes: 10 additions & 0 deletions arch-install.md
    Original file line number Diff line number Diff line change
    @@ -6,23 +6,27 @@ ____


    * Check IP Address Information

    ```sh
    ip addr show
    ```

    * Connect to WIFI Network (Get IP)

    ```sh
    iwctl
    ```
    > Drops you into `iwctl`'s prompt
    * List all available networks (in Ex.: `wlon0`)

    ```sh
    [iwd]# station wlon0 get-networks
    ```
    > `Ctrl+C` out of `iwctl`
    * Connect to chosen <network>

    ```sh
    iwctl --passphrase "networkPassphrase" station wlon0 connect <network>
    ```
    @@ -32,24 +36,30 @@ ___
    ## Setup Drives

    * Check local drives information

    ```sh
    lsblk
    ```

    ### Setup Partitions

    * Open chosen device with `fdisk` partitioniong utility (Ex.: `nvme0n1`)

    ```sh
    fdisk /dev/nvme0n1
    ```
    > Gives `Command (m for help):` promnpt.
    * Print partition layout


    ```sh
    p
    ```

    * Create empty partition table


    ```sh
    g
    ```
  5. PedroZappa revised this gist Mar 24, 2025. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion arch-install.md
    Original file line number Diff line number Diff line change
    @@ -202,7 +202,7 @@ locale-gen
    ### Setup `EFI` Partition
    ```sh
    mkdir /boot/EFI
    mouunt /dev/nvme0n1p1 /boot/EFI
    mount /dev/nvme0n1p1 /boot/EFI
    ```
    ### Setup `GRUB`

  6. PedroZappa created this gist Mar 23, 2025.
    248 changes: 248 additions & 0 deletions arch-install.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,248 @@
    # Arch Linux Manual Install

    ____

    ## Get on a Network


    * Check IP Address Information
    ```sh
    ip addr show
    ```

    * Connect to WIFI Network (Get IP)
    ```sh
    iwctl
    ```
    > Drops you into `iwctl`'s prompt
    * List all available networks (in Ex.: `wlon0`)
    ```sh
    [iwd]# station wlon0 get-networks
    ```
    > `Ctrl+C` out of `iwctl`
    * Connect to chosen <network>
    ```sh
    iwctl --passphrase "networkPassphrase" station wlon0 connect <network>
    ```

    ___

    ## Setup Drives

    * Check local drives information
    ```sh
    lsblk
    ```

    ### Setup Partitions

    * Open chosen device with `fdisk` partitioniong utility (Ex.: `nvme0n1`)
    ```sh
    fdisk /dev/nvme0n1
    ```
    > Gives `Command (m for help):` promnpt.
    * Print partition layout
    ```sh
    p
    ```

    * Create empty partition table
    ```sh
    g
    ```

    * Create new partition (`boot`)
    ```sh
    n
    ```
    > Set: Default, Default, +1G
    > Accept: y
    * Create new partition (`EFI`)
    ```sh
    n
    ```
    > Set: Default, Default, +1G
    > Accept: y
    * Create new partition (`/`)
    ```sh
    n
    ```
    > Set: Default, Default, Default
    > Accept: y
    * Save and exit `fdisk`
    ```sh
    w
    ```

    ### Format Partitions

    * Format `boot` partition
    ```sh
    mkfs.fat -F32 /dev/nvme0n1p1
    ```

    * Format `EFI` partition
    ```sh
    mkfs.ext4 /dev/nvme0n1p2
    ```

    * Format `/` partition
    ```sh
    mkfs.ext4 /dev/nvme0n1p3
    ```

    ### Install Kernel Modules

    * Get Advanced Storage Configuration support (just to be safe)
    ```sh
    modprobe dm_mod
    ```

    ### Mount Partitions

    #### Handle `/` (root)

    * Mount `/` (root)
    ```sh
    mount /dev/nvme0n1p3 /mnt
    ```

    #### Handle `boot`

    * Create `/mnt/boot/` directory
    ```sh
    mkdir /mnt/boot
    ```

    * Mount `boot`
    ```sh
    mount /dev/nvme0n1p2 /mnt/boot
    ```

    ### Install Minimal Required Packages

    ```sh
    pacstrap -i /mnt base
    ```

    ### Generate `fstab` file
    > Tell the file system filesystems to mount
    ```sh
    genfstab -U /mnt >> /mnt/etc/fstab
    ```

    * To check the current filesystems
    ```sh
    cat /mnt/etc/fstab
    ```

    ___

    ## Log into Arch Linux installation
    ```sh
    arch-chroot /mnt
    ```

    ### Set root password
    ```sh
    passwd
    ```

    ### Create user (ex.: `zedro`) & set user password
    ```sh
    useradd -m -g users -G wheel zedro
    passwd zedro
    ```

    ### Get User Additional Packages
    ```sh

    pacman -S base-devel dosfstools grub efibootmgr gnome gnome-tweaks mtools vim git firefox networkmanager openssh sudo
    ```

    ### Get Linux Kernels (bleeding edge & lts)
    ```sh
    pacman -S linux linux-headers linux-lts linux-lts-headers
    ```

    ### Get Optional Firmware (Recommended)
    ```sh
    pacman -S linux-firmware
    ```

    ### Setup Video Card Driver (Ex.: `NVidia`)
    ```sh
    pacman -S nvidia nvidia-utils nvidia-lts
    ```

    ### Generate Kernel Utils
    ```sh
    mkinitcpio -p linux # for bleeding-edge kernel
    mkinitcpio -p linux-lts # for lts kernel
    ```

    ### Set Locale Information
    ```sh
    vim /etc/locale.gen
    ```
    > Uncomment the desired local UTF-8 option
    #### Generate Selected Locale
    ```sh
    locale-gen
    ```

    ### Setup `EFI` Partition
    ```sh
    mkdir /boot/EFI
    mouunt /dev/nvme0n1p1 /boot/EFI
    ```
    ### Setup `GRUB`

    #### Install `GRUB`
    ```sh
    grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
    ```

    #### Setup `boot` Directory
    ```sh
    cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
    ```

    #### Generate `GRUB` configuration file
    ```sh
    grub-mkconfig -o /boot/grub/grub.cfg
    ```

    ___

    ## Enable Services

    ### Enable `OpenSSH`
    ```sh
    systemctl enable sshd
    ```

    ### Enable `gdm`
    ```sh
    systemctl enable gdm
    ```

    ### Enable `Network Manager`
    ```sh
    systemctl enable NetworkManager
    ```

    ## Finish & Reboot
    ```sh
    exit # Leave chroot
    umount -a # Unmount
    reboot # Reboot system
    ```