Skip to content

Instantly share code, notes, and snippets.

@curtismckee
Last active January 8, 2019 11:18
Show Gist options
  • Save curtismckee/a5cdb0ffda024cf35397b6b62b826716 to your computer and use it in GitHub Desktop.
Save curtismckee/a5cdb0ffda024cf35397b6b62b826716 to your computer and use it in GitHub Desktop.

Revisions

  1. Curtis Mckee revised this gist Jan 8, 2019. 1 changed file with 9 additions and 0 deletions.
    9 changes: 9 additions & 0 deletions arch-linux-appearance-configuration.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    ### TODO:

    - Xorg : Display Server or Base Graphic-User-Interface Environment
    - AMDGPU : Graphics Drivers
    - LightDM : Display Manager or Login Manager
    - i3-gaps : Window Manager
    - Xranr : Multi-display Manager
    - Feh : Desktop Wallpaper Manager
    - Compton :
  2. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 0 additions and 5 deletions.
    5 changes: 0 additions & 5 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -22,11 +22,6 @@
    * []()
    * []()
    * []()

    4. Tips and Tricks
    * []()
    * []()
    * []()


    <h2 align='center'>Introduction</h2>
  3. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 9 additions and 9 deletions.
    18 changes: 9 additions & 9 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -7,11 +7,11 @@
    1. Installing
    * [Preparation](#preparation)
    * [Basics](#basics)
    * [Network](#network-setup)
    * [Partitions](#formatting-drives)
    * [Base System](#installation)
    * [Boot Manager](#configure-bootloader)
    * [Finishing Install](#finishing)
    * [Network](#network)
    * [Formatting](#formatting)
    * [Base Installation](#base-installation)
    * [Boot Manager](#boot-manager)
    * [Finishing](#finishing)

    2. Configuration
    * []()
    @@ -61,7 +61,7 @@ I will be constantly updating this reference guide to add missing content, updat
    **Set Mirrors**
    `TODO`

    <h2 align='center'>Network Setup</h2>
    <h2 align='center'>Network</h2>

    **General Networking**

    @@ -84,7 +84,7 @@ dhcpcd INTERFACE
    > [wpa_supplicant](https://wiki.archlinux.org/index.php/WPA_supplicant)

    <h2 align='center'>Formatting Drives</h2>
    <h2 align='center'>Formatting</h2>

    **Drive Preparation**

    @@ -226,7 +226,7 @@ nvme0n1 259:0 0 477G 0 disk
    ```


    <h2 align='center'>Installation</h2>
    <h2 align='center'>Base Installation</h2>

    **Install base packages**
    `pacstrap /mnt base base-devel dialog wpa_supplicant vim zsh git`
    @@ -311,7 +311,7 @@ HOOKS="base udev autodetect modconf block keymap encrypt lvm2 resume filesystems
    > [mkinitcpio](https://wiki.archlinux.org/index.php/Mkinitcpio)

    <h2 align='center'>Configure Bootloader</h2>
    <h2 align='center'>Boot Manager</h2>

    **Install bootloader:**
    `bootctl --path=/boot install`
  4. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -326,7 +326,7 @@ initrd /initramfs-linux.img
    options cryptdevice=UUID={UUID}:lvm:allow-discards resume=/dev/mapper/vg0-swap root=/dev/mapper/vg0-root rw quiet
    ```

    TIP: To easily get the UUID, this Vim command adds a line to the current file that includes the UUID.
    To easily get the UUID, this Vim command adds a line to the current file that includes the UUID.
    `:read ! blkid /dev/nvme0n1p2`

    **Update bootloader config:**
  5. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 8 additions and 14 deletions.
    22 changes: 8 additions & 14 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -228,13 +228,11 @@ nvme0n1 259:0 0 477G 0 disk

    <h2 align='center'>Installation</h2>

    **Install base packages**

    **Install base packages**
    `pacstrap /mnt base base-devel dialog wpa_supplicant vim zsh git`


    **Generate fstab**

    **Generate fstab**
    `genfstab -pU /mnt >> /mnt/etc/fstab`

    Two optional fstab changes:
    @@ -269,10 +267,8 @@ tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
    `arch-chroot /mnt`

    **Update System Clock:**
    ```
    ln -sf /usr/share/zoneinfo/US/Mountain /etc/localtime
    hwclock --systohc
    ```
    `ln -sf /usr/share/zoneinfo/US/Mountain /etc/localtime`
    `hwclock --systohc`

    **Update Computer Hostname:**
    `echo <computer-hostname> > /etc/hostname`
    @@ -284,18 +280,16 @@ hwclock --systohc
    `passwd`

    **Add User:**
    ```
    useradd -m -g users -G wheel -s /bin/zsh <USERNAME>
    passwd <USERNAME>
    ```
    `useradd -m -g users -G wheel -s /bin/zsh <USERNAME>`
    `passwd <USERNAME>`

    **Update Sudoers File:**
    `visudo`

    Find and uncomment this line:
    `%wheel ALL=(ALL) ALL`

    **Update Mkinitcpio:**
    **Update mkinitcpio:**
    We are using disk encryption so we need to update the mkinitcpio with modules for initramfs.

    Update `MODULES` to use `ext4`.
    @@ -332,7 +326,7 @@ initrd /initramfs-linux.img
    options cryptdevice=UUID={UUID}:lvm:allow-discards resume=/dev/mapper/vg0-swap root=/dev/mapper/vg0-root rw quiet
    ```

    In order to get the UUID run this Vim command:
    TIP: To easily get the UUID, this Vim command adds a line to the current file that includes the UUID.
    `:read ! blkid /dev/nvme0n1p2`

    **Update bootloader config:**
  6. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 7 additions and 7 deletions.
    14 changes: 7 additions & 7 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -265,7 +265,7 @@ tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
    > [fstab](https://wiki.archlinux.org/index.php/Fstab)

    **Switch to Chroot:**
    **Switch to Chroot:**
    `arch-chroot /mnt`

    **Update System Clock:**
    @@ -277,25 +277,25 @@ hwclock --systohc
    **Update Computer Hostname:**
    `echo <computer-hostname> > /etc/hostname`

    **Update Locale:**
    **Update Locale:**
    `echo LANG=en_US.UTF-8 >> /etc/locale.conf`

    **Set Root Password:**
    **Set Root Password:**
    `passwd`

    **Add User:**
    **Add User:**
    ```
    useradd -m -g users -G wheel -s /bin/zsh <USERNAME>
    passwd <USERNAME>
    ```

    **Update Sudoers File:**
    **Update Sudoers File:**
    `visudo`

    Find and uncomment this line:
    `%wheel ALL=(ALL) ALL`

    **Update Mkinitcpio:**
    **Update Mkinitcpio:**
    We are using disk encryption so we need to update the mkinitcpio with modules for initramfs.

    Update `MODULES` to use `ext4`.
    @@ -335,7 +335,7 @@ options cryptdevice=UUID={UUID}:lvm:allow-discards resume=/dev/mapper/vg0-swap r
    In order to get the UUID run this Vim command:
    `:read ! blkid /dev/nvme0n1p2`

    **Update bootloader config:**
    **Update bootloader config:**
    `vim /boot/loader/loader.conf`

    ```
  7. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 15 additions and 24 deletions.
    39 changes: 15 additions & 24 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -265,45 +265,37 @@ tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
    > [fstab](https://wiki.archlinux.org/index.php/Fstab)

    **Chroot**

    **Switch to Chroot:**
    `arch-chroot /mnt`

    **Update System Clock**

    **Update System Clock:**
    ```
    ln -sf /usr/share/zoneinfo/US/Mountain /etc/localtime
    hwclock --systohc
    ```

    **Update Computer Hostname**

    **Update Computer Hostname:**
    `echo <computer-hostname> > /etc/hostname`

    **Update Locale**

    **Update Locale:**
    `echo LANG=en_US.UTF-8 >> /etc/locale.conf`

    **Set Root Password**

    **Set Root Password:**
    `passwd`

    **Add User**

    **Add User:**
    ```
    useradd -m -g users -G wheel -s /bin/zsh <USERNAME>
    passwd <USERNAME>
    ```

    **Update Sudoers File**

    **Update Sudoers File:**
    `visudo`

    Find and uncomment this line:
    `%wheel ALL=(ALL) ALL`

    **Update Mkinitcpio**

    **Update Mkinitcpio:**
    We are using disk encryption so we need to update the mkinitcpio with modules for initramfs.

    Update `MODULES` to use `ext4`.
    @@ -319,18 +311,18 @@ MODULES="ext4"
    HOOKS="base udev autodetect modconf block keymap encrypt lvm2 resume filesystems keyboard fsck"
    ```

    Regenerate the initramfs:
    **Regenerate the initramfs:**
    `mkinitcpio -p linux`

    > [mkinitcpio](https://wiki.archlinux.org/index.php/Mkinitcpio)

    <h2 align='center'>Configure Bootloader</h2>

    Install bootloader:
    **Install bootloader:**
    `bootctl --path=/boot install`

    Create bootloader entry:
    **Create bootloader entry:**
    `vim /boot/loader/entries/arch.conf`

    ```
    @@ -343,8 +335,7 @@ options cryptdevice=UUID={UUID}:lvm:allow-discards resume=/dev/mapper/vg0-swap r
    In order to get the UUID run this Vim command:
    `:read ! blkid /dev/nvme0n1p2`

    Then update bootloader config to reference the bootloader entry we just created.

    **Update bootloader config:**
    `vim /boot/loader/loader.conf`

    ```
    @@ -355,11 +346,11 @@ editor 0

    <h2 align='center'>Finishing</h2>

    Exit chroot:
    **Exit chroot:**
    `exit`

    Unmount all drives and partitions:
    **Unmount all drives and partitions:**
    `umount -R /mnt`

    Reboot into new installation:
    **Reboot into new installation:**
    `reboot`
  8. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 6 additions and 7 deletions.
    13 changes: 6 additions & 7 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -7,12 +7,11 @@
    1. Installing
    * [Preparation](#preparation)
    * [Basics](#basics)
    * [Network](#network-configuration)
    * [Partitions](#format-partitions)
    * [Base System](#base-system)
    * []()
    * [Boot Manager](#boot-manager)
    * [Initial Ramdisk](#inital-ramdisk)
    * [Network](#network-setup)
    * [Partitions](#formatting-drives)
    * [Base System](#installation)
    * [Boot Manager](#configure-bootloader)
    * [Finishing Install](#finishing)

    2. Configuration
    * []()
    @@ -354,7 +353,7 @@ default arch
    editor 0
    ```

    <h2 align='center'>Finishing Installation</h2>
    <h2 align='center'>Finishing</h2>

    Exit chroot:
    `exit`
  9. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -331,7 +331,7 @@ Regenerate the initramfs:
    Install bootloader:
    `bootctl --path=/boot install`

    Create bootloader entry:
    Create bootloader entry:
    `vim /boot/loader/entries/arch.conf`

    ```
  10. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 14 additions and 3 deletions.
    17 changes: 14 additions & 3 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -341,15 +341,26 @@ initrd /initramfs-linux.img
    options cryptdevice=UUID={UUID}:lvm:allow-discards resume=/dev/mapper/vg0-swap root=/dev/mapper/vg0-root rw quiet
    ```

    In order to get the UUID run this Vim command:
    In order to get the UUID run this Vim command:
    `:read ! blkid /dev/nvme0n1p2`

    Then update loader.conf to reference the bootloader entry we just created.
    Then update bootloader config to reference the bootloader entry we just created.

    `vim /boot/loader/loader.conf`

    ```
    timeout 0
    default arch
    editor 0
    ```

    <h2 align='center'>Finishing Installation</h2>
    <h2 align='center'>Finishing Installation</h2>

    Exit chroot:
    `exit`

    Unmount all drives and partitions:
    `umount -R /mnt`

    Reboot into new installation:
    `reboot`
  11. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 18 additions and 0 deletions.
    18 changes: 18 additions & 0 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -331,7 +331,25 @@ Regenerate the initramfs:
    Install bootloader:
    `bootctl --path=/boot install`

    Create bootloader entry:
    `vim /boot/loader/entries/arch.conf`

    ```
    title Arch Linux
    linux /vmlinuz-linux
    initrd /initramfs-linux.img
    options cryptdevice=UUID={UUID}:lvm:allow-discards resume=/dev/mapper/vg0-swap root=/dev/mapper/vg0-root rw quiet
    ```

    In order to get the UUID run this Vim command:
    `:read ! blkid /dev/nvme0n1p2`

    Then update loader.conf to reference the bootloader entry we just created.

    ```
    timeout 0
    default arch
    editor 0
    ```

    <h2 align='center'>Finishing Installation</h2>
  12. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -307,8 +307,8 @@ Find and uncomment this line:

    We are using disk encryption so we need to update the mkinitcpio with modules for initramfs.

    Update `MODULES` to use `ext4`, our filesystem of choice.
    Update `HOOKS` to include modules `keymap`, `encrypt`, `lvm2` and `resume` before the `filesystems` module.
    Update `MODULES` to use `ext4`.
    Update `HOOKS` to include modules `keymap`, `encrypt`, `lvm2` and `resume` before `filesystems`.

    `vim /etc/mkinitcpio.conf`

  13. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -303,14 +303,14 @@ passwd <USERNAME>
    Find and uncomment this line:
    `%wheel ALL=(ALL) ALL`

    **Update Mkinitpcio**
    **Update Mkinitcpio**

    We are using disk encryption so we need to update the mkinitpcio with modules for initramfs.
    We are using disk encryption so we need to update the mkinitcpio with modules for initramfs.

    Update `MODULES` to use `ext4`, our filesystem of choice.
    Update `HOOKS` to include modules `keymap`, `encrypt`, `lvm2` and `resume` before the `filesystems` module.

    `vim /etc/mkinitpcio.conf`
    `vim /etc/mkinitcpio.conf`

    ```
    MODULES="ext4"
    @@ -321,9 +321,9 @@ HOOKS="base udev autodetect modconf block keymap encrypt lvm2 resume filesystems
    ```

    Regenerate the initramfs:
    `mkinitpcio -p linux`
    `mkinitcpio -p linux`

    > [mkinitpcio](https://wiki.archlinux.org/index.php/Mkinitcpio)
    > [mkinitcpio](https://wiki.archlinux.org/index.php/Mkinitcpio)

    <h2 align='center'>Configure Bootloader</h2>
  14. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 11 additions and 8 deletions.
    19 changes: 11 additions & 8 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -281,11 +281,11 @@ hwclock --systohc

    `echo <computer-hostname> > /etc/hostname`

    **Update locale**
    **Update Locale**

    `echo LANG=en_US.UTF-8 >> /etc/locale.conf`

    **Set root password**
    **Set Root Password**

    `passwd`

    @@ -295,20 +295,21 @@ hwclock --systohc
    useradd -m -g users -G wheel -s /bin/zsh <USERNAME>
    passwd <USERNAME>
    ```
    **Update Sudoers**

    Edit sudoers file:
    **Update Sudoers File**

    `visudo`

    Find and uncomment this line:
    `%wheel ALL=(ALL) ALL`

    **Update mkinitpcio**
    **Update Mkinitpcio**

    We are using disk encryption so we need to update the mkinitpcio with modules for initramfs.

    We are using disk encryption so we need to update the mkinitpcio with modules for initrd image.
    Update `MODULES` to use our filesystem of choice, `ext4`. Also update `HOOKS` to include modules `keymap`, `encrypt`, `lvm2` and `resume` before the `filesystems` module.
    Update `MODULES` to use `ext4`, our filesystem of choice.
    Update `HOOKS` to include modules `keymap`, `encrypt`, `lvm2` and `resume` before the `filesystems` module.

    Edit mkinitpcio.conf file:
    `vim /etc/mkinitpcio.conf`

    ```
    @@ -322,6 +323,8 @@ HOOKS="base udev autodetect modconf block keymap encrypt lvm2 resume filesystems
    Regenerate the initramfs:
    `mkinitpcio -p linux`

    > [mkinitpcio](https://wiki.archlinux.org/index.php/Mkinitcpio)

    <h2 align='center'>Configure Bootloader</h2>

  15. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 15 additions and 8 deletions.
    23 changes: 15 additions & 8 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -96,7 +96,9 @@ OR
    ```
    cryptsetup open --type plain -d /dev/urandom /dev/nvme0n1 to_be_wipedo
    dd if=/dev/zero of=/dev/mapper/to_be_wiped status=progress
    ...
    .
    .
    .
    cryptsetup close to_be_wiped
    ```

    @@ -293,22 +295,21 @@ hwclock --systohc
    useradd -m -g users -G wheel -s /bin/zsh <USERNAME>
    passwd <USERNAME>
    ```
    **Update Sudoers file**
    **Update Sudoers**

    Edit sudoers file:
    `visudo`

    Find and uncomment this line:

    `%wheel ALL=(ALL) ALL`

    **Update mkinitpcio**

    We are using disk encryption so we need to update the mkinitpcio with modules for initrd image.

    `vim /etc/mkinitpcio`
    We are using disk encryption so we need to update the mkinitpcio with modules for initrd image.
    Update `MODULES` to use our filesystem of choice, `ext4`. Also update `HOOKS` to include modules `keymap`, `encrypt`, `lvm2` and `resume` before the `filesystems` module.

    Update `MODULES` with ext4.
    Update `HOOKS` with keymap, encrypt, lvm2 and resume before filesystems.
    Edit mkinitpcio.conf file:
    `vim /etc/mkinitpcio.conf`

    ```
    MODULES="ext4"
    @@ -324,4 +325,10 @@ Regenerate the initramfs:

    <h2 align='center'>Configure Bootloader</h2>

    Install bootloader:
    `bootctl --path=/boot install`




    <h2 align='center'>Finishing Installation</h2>
  16. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -322,6 +322,6 @@ Regenerate the initramfs:
    `mkinitpcio -p linux`


    <h2 align='center'></h2>
    <h2 align='center'>Configure Bootloader</h2>

    <h2 align='center'></h2>
    <h2 align='center'>Finishing Installation</h2>
  17. Curtis Mckee revised this gist Jan 4, 2019. 1 changed file with 24 additions and 3 deletions.
    27 changes: 24 additions & 3 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -268,14 +268,14 @@ tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

    `arch-chroot /mnt`

    **System Clock**
    **Update System Clock**

    ```
    ln -sf /usr/share/zoneinfo/US/Mountain /etc/localtime
    hwclock --systohc
    ```

    **Hostname**
    **Update Computer Hostname**

    `echo <computer-hostname> > /etc/hostname`

    @@ -293,14 +293,35 @@ hwclock --systohc
    useradd -m -g users -G wheel -s /bin/zsh <USERNAME>
    passwd <USERNAME>
    ```
    **Update Sudoers**
    **Update Sudoers file**

    `visudo`

    Find and uncomment this line:

    `%wheel ALL=(ALL) ALL`

    **Update mkinitpcio**

    We are using disk encryption so we need to update the mkinitpcio with modules for initrd image.

    `vim /etc/mkinitpcio`

    Update `MODULES` with ext4.
    Update `HOOKS` with keymap, encrypt, lvm2 and resume before filesystems.

    ```
    MODULES="ext4"
    .
    .
    .
    HOOKS="base udev autodetect modconf block keymap encrypt lvm2 resume filesystems keyboard fsck"
    ```

    Regenerate the initramfs:
    `mkinitpcio -p linux`


    <h2 align='center'></h2>

    <h2 align='center'></h2>
  18. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -293,7 +293,13 @@ hwclock --systohc
    useradd -m -g users -G wheel -s /bin/zsh <USERNAME>
    passwd <USERNAME>
    ```
    **Update Sudoers**

    `visudo`

    Find and uncomment this line:

    `%wheel ALL=(ALL) ALL`

    <h2 align='center'></h2>

  19. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 23 additions and 3 deletions.
    26 changes: 23 additions & 3 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -236,7 +236,7 @@ nvme0n1 259:0 0 477G 0 disk

    `genfstab -pU /mnt >> /mnt/etc/fstab`

    Lets take a look at two optional changes:
    Two optional fstab changes:

    - You might want to change the `atime` options - These impact drive preformance and wear. By default our generated fstab file uses `relatime`. This updates file access times if the previous access time was earlier than current modify/change time or access time is older than 24 hours. If using a SSD or NVMe and want to reduce wear on the drive, change all non-boot partitions to use `noatime`. However this option doesn't work great with applications that need to know if a file has been read since the last time it was modified.
    - Change `/tmp` directory to use the ramdisk instead of the drive. We accomplish this by appending a tmpfs entry to the file.
    @@ -268,12 +268,32 @@ tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

    `arch-chroot /mnt`

    **System Clock**
    **System Clock**

    **Hostname**
    ```
    ln -sf /usr/share/zoneinfo/US/Mountain /etc/localtime
    hwclock --systohc
    ```

    **Hostname**

    `echo <computer-hostname> > /etc/hostname`

    **Update locale**

    `echo LANG=en_US.UTF-8 >> /etc/locale.conf`

    **Set root password**

    `passwd`

    **Add User**

    ```
    useradd -m -g users -G wheel -s /bin/zsh <USERNAME>
    passwd <USERNAME>
    ```


    <h2 align='center'></h2>

  20. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 7 additions and 1 deletion.
    8 changes: 7 additions & 1 deletion arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -264,9 +264,15 @@ tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
    > [fstab](https://wiki.archlinux.org/index.php/Fstab)

    **chroot**
    **Chroot**

    `arch-chroot /mnt`

    **System Clock**

    **Hostname**

    **Update locale**


    <h2 align='center'></h2>
  21. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 4 additions and 3 deletions.
    7 changes: 4 additions & 3 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -236,9 +236,10 @@ nvme0n1 259:0 0 477G 0 disk

    `genfstab -pU /mnt >> /mnt/etc/fstab`

    Lets make two changes to our fstab file:
    1. If using a SSD or NVMe change all non-boot partitions to use `noatime` to reduce wear on the drive.
    2. Change `/tmp` directory to use the ramdisk by appending a tmpfs entry to the file.
    Lets take a look at two optional changes:

    - You might want to change the `atime` options - These impact drive preformance and wear. By default our generated fstab file uses `relatime`. This updates file access times if the previous access time was earlier than current modify/change time or access time is older than 24 hours. If using a SSD or NVMe and want to reduce wear on the drive, change all non-boot partitions to use `noatime`. However this option doesn't work great with applications that need to know if a file has been read since the last time it was modified.
    - Change `/tmp` directory to use the ramdisk instead of the drive. We accomplish this by appending a tmpfs entry to the file.

    `vim /mnt/ect/fstab`

  22. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 25 additions and 1 deletion.
    26 changes: 25 additions & 1 deletion arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -234,7 +234,31 @@ nvme0n1 259:0 0 477G 0 disk

    **Generate fstab**

    `genfstab -pU /mnt >> /mnt/etc/fstab`
    `genfstab -pU /mnt >> /mnt/etc/fstab`

    Lets make two changes to our fstab file:
    1. If using a SSD or NVMe change all non-boot partitions to use `noatime` to reduce wear on the drive.
    2. Change `/tmp` directory to use the ramdisk by appending a tmpfs entry to the file.

    `vim /mnt/ect/fstab`

    ```
    # <file system> <dir> <type> <options> <dump> <pass>
    # /dev/mapper/vg0-root
    UUID=9a180980-d2bf-40d6-a09a-7a95a378f5e3 / ext4 rw,noatime,data=ordered 0 1
    # /dev/mapper/vg0-home
    UUID=01e98383-e71a-4319-a70c-348783b1fc4c /home ext4 rw,noatime,data=ordered 0 2
    # /dev/mapper/vg0-swap
    UUID=bd0fe84a-c662-4976-929f-e1b517c6531b none swap defaults,pri=-2 0 0
    # /dev/nvme0n1p1
    UUID=F679-59DA /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
    # /tmp ramdisk
    tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
    ```

    > [fstab](https://wiki.archlinux.org/index.php/Fstab)
  23. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 13 additions and 2 deletions.
    15 changes: 13 additions & 2 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -225,13 +225,24 @@ nvme0n1 259:0 0 477G 0 disk
    ```


    <h2 align='center'>Installation</h2>

    **Install base packages**

    `pacstrap /mnt base base-devel dialog wpa_supplicant vim zsh git`


    **Generate fstab**

    `genfstab -pU /mnt >> /mnt/etc/fstab`

    > [fstab](https://wiki.archlinux.org/index.php/Fstab)

    **chroot**




    <h2 align='center'>Boot Manager</h2>

    <h2 align='center'></h2>

  24. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -177,6 +177,13 @@ lvcreate --size 64G vg0 --name root
    lvcreate -l 100%FREE vg0 --name home
    ```

    > [disk-encryption](https://wiki.archlinux.org/index.php/Disk_encryption)
    > [lvm](https://wiki.archlinux.org/index.php/LVM)
    > [pvcreate man page](https://linux.die.net/man/8/pvcreate)
    > [vgcreate man page](https://linux.die.net/man/8/vgcreate)
    > [lvcreate man page](https://linux.die.net/man/8/lvcreate)

    **Create Filesystems on Encrypted Partitions**

    ```
    @@ -218,11 +225,6 @@ nvme0n1 259:0 0 477G 0 disk
    ```


    > [disk-encryption](https://wiki.archlinux.org/index.php/Disk_encryption)
    > [lvm](https://wiki.archlinux.org/index.php/LVM)
    > [pvcreate man page](https://linux.die.net/man/8/pvcreate)
    > [vgcreate man page](https://linux.die.net/man/8/vgcreate)
    > [lvcreate man page](https://linux.die.net/man/8/lvcreate)



  25. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 0 additions and 6 deletions.
    6 changes: 0 additions & 6 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -102,12 +102,6 @@ cryptsetup close to_be_wiped

    > [drive preparation](https://wiki.archlinux.org/index.php/Dm-crypt/Drive_preparation)
    **Raid**

    I will not be setting up any raid configurations this time around. In the future I will be updating this section with info on configuring raids.

    > [raid archwiki](https://wiki.archlinux.org/index.php/RAID)

    **Partitioning**

  26. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 12 additions and 7 deletions.
    19 changes: 12 additions & 7 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -74,10 +74,12 @@ I will be constantly updating this reference guide to add missing content, updat

    **Wireless Configuration**

    `iw dev interface scan | less`
    `wpa_passphrase "SSID" "Password" > /etc/wpa_supplicant/wpa_supplicant.conf`
    `wpa_supplicant -B -i INTERFACE -c /etc/wpa_supplicant/wpa_supplicant.conf`
    `dhcpcd INTERFACE`
    ```
    iw dev interface scan | less
    wpa_passphrase "SSID" "Password" > /etc/wpa_supplicant/wpa_supplicant.conf
    wpa_supplicant -B -i INTERFACE -c /etc/wpa_supplicant/wpa_supplicant.conf
    dhcpcd INTERFACE
    ```

    > [wireless network configuration](https://wiki.archlinux.org/index.php/Wireless_network_configuration)
    > [wpa_supplicant](https://wiki.archlinux.org/index.php/WPA_supplicant)
    @@ -91,9 +93,12 @@ I will be constantly updating this reference guide to add missing content, updat

    OR

    `cryptsetup open --type plain -d /dev/urandom /dev/nvme0n1 to_be_wiped`
    `dd if=/dev/zero of=/dev/mapper/to_be_wiped status=progress`
    `cryptsetup close to_be_wiped`
    ```
    cryptsetup open --type plain -d /dev/urandom /dev/nvme0n1 to_be_wipedo
    dd if=/dev/zero of=/dev/mapper/to_be_wiped status=progress
    ...
    cryptsetup close to_be_wiped
    ```

    > [drive preparation](https://wiki.archlinux.org/index.php/Dm-crypt/Drive_preparation)
  27. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 7 additions and 9 deletions.
    16 changes: 7 additions & 9 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -97,6 +97,12 @@ OR

    > [drive preparation](https://wiki.archlinux.org/index.php/Dm-crypt/Drive_preparation)
    **Raid**

    I will not be setting up any raid configurations this time around. In the future I will be updating this section with info on configuring raids.

    > [raid archwiki](https://wiki.archlinux.org/index.php/RAID)

    **Partitioning**

    @@ -221,15 +227,7 @@ nvme0n1 259:0 0 477G 0 disk


    **Raid**

    I will not be setting up any raid configurations this time around. In the future I will be updating this section with info on configuring all three raids listed here.

    - **raid-0 (striping)** From what I gather this raid configuration's preformance is actually degraded or negligible in my case. Since the three onboard m.2 slots are using PCIe x4 preformance is limited. I've also heard about some throttling due to device software-controllers and operating-systems. However I've also seen benchmarks that say otherwise. In the future I will be testing and benchmarking this personally.
    - **raid-1 (mirroring)** This raid configuration is helpful if you need the redundancy. I am frequently backing up configuration files to my dotfiles repo, code to my github & personal git-server and lastly I sync my personal items like documents & pictures across different devices.
    - **raid-5 (distributed parity)** This raid configuration requires atleast three drives which I am running. The data along with a pairty checksum is striped between the m.2 drives. Since a pairity block is also writen, the equivalent of an entire disk is used to store parity. While it provides benefits of preformance and redundancy, one of my drives becomes null. Since they aren't terribly large and I will be using that storage I opted out of this raid config.

    > [raid archwiki](https://wiki.archlinux.org/index.php/RAID)



    <h2 align='center'>Boot Manager</h2>
  28. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 10 additions and 3 deletions.
    13 changes: 10 additions & 3 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -167,15 +167,22 @@ pvcreate /dev/mapper/lvm
    vgcreate vg0 /dev/mapper/lvm
    lvcreate --size 2G vg0 --name swap
    lvcreate --size 32G vg0 --name root
    lvcreate --size 8G vg0 --name swap
    lvcreate --size 64G vg0 --name root
    lvcreate -l 100%FREE vg0 --name home
    ```

    **Create Filesystems on Encrypted Partitions**

    ```
    mkfs.ext4 /dev/mapper/vg0-root
    mkfs.ext4 /dev/mapper/vg0-home
    mkswap /dev/mapper/vg0-swap
    ```

    **Mount the Partitions**
    ```
    mount /dev/mapper/vg0-root /mnt
    mkdir /mnt/boot
    @@ -185,9 +192,9 @@ mkdir /mnt/home
    mount /dev/mapper/vg0-home /mnt/home
    swapon /dev/mapper/vg0-swap
    ```


    `lsblk`

    ```
  29. Curtis Mckee revised this gist Jan 3, 2019. 1 changed file with 34 additions and 9 deletions.
    43 changes: 34 additions & 9 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -165,18 +165,45 @@ cryptsetup open --type luks /dev/nvme0n1p2 lvm
    pvcreate /dev/mapper/lvm
    vgcreate vg /dev/mapper/lvm
    vgcreate vg0 /dev/mapper/lvm
    lvcreate --size 2G vg --name swap
    lvcreate --size 32G vg --name root
    lvcreate -l 100%FREE vg --name home
    lvcreate --size 2G vg0 --name swap
    lvcreate --size 32G vg0 --name root
    lvcreate -l 100%FREE vg0 --name home
    mkfs.ext4 /dev/mapper/vg-root
    mkfs.ext4 /dev/mapper/vg-home
    mkfs.ext4 /dev/mapper/vg0-root
    mkfs.ext4 /dev/mapper/vg0-home
    mkswap /dev/mapper/vg-swap
    mkswap /dev/mapper/vg0-swap
    mount /dev/mapper/vg0-root /mnt
    mkdir /mnt/boot
    mount /dev/mapper/nvme0n1p1
    mkdir /mnt/home
    mount /dev/mapper/vg0-home /mnt/home
    swapon /dev/mapper/vg0-swap
    ```

    `lsblk`

    ```
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    loop0 7:1 0 476.7M 1 loop /run/archiso/sfs/airootfs
    sda 8:0 0 14.9G 0 disk
    ├─sda1 259:3 0 588M 0 part /run/archiso/bootmnt
    └─sda2 259:2 0 64M 0 part
    nvme0n1 259:0 0 477G 0 disk
    ├─nvme0n1p1 259:3 0 512M 0 part /mnt/boot
    └─nvme0n1p2 259:2 0 476.4G 0 part
    └─lvm 253:0 0 476.4G 0 crypt
    ├─vg0-swap 253:1 0 8G 0 lvm [SWAP]
    ├─vg0-root 253:1 0 64G 0 lvm /mnt
    └─vg0-home 253:2 0 404.4G 0 lvm /mnt/home
    ```


    > [disk-encryption](https://wiki.archlinux.org/index.php/Disk_encryption)
    @@ -198,8 +225,6 @@ I will not be setting up any raid configurations this time around. In the future
    > [raid archwiki](https://wiki.archlinux.org/index.php/RAID)

    <h2 align='center'>Mounting Partitions</h2>

    <h2 align='center'>Boot Manager</h2>

    <h2 align='center'></h2>
  30. Curtis Mckee revised this gist Dec 25, 2018. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions arch-linux-2018-12-01-install.md
    Original file line number Diff line number Diff line change
    @@ -7,10 +7,12 @@
    1. Installing
    * [Preparation](#preparation)
    * [Basics](#basics)
    * [Network Configuration](#network-configuration)
    * [Format Partitions](#format-partitions)
    * [Install Base System](#base-system)
    * [Network](#network-configuration)
    * [Partitions](#format-partitions)
    * [Base System](#base-system)
    * []()
    * [Boot Manager](#boot-manager)
    * [Initial Ramdisk](#inital-ramdisk)

    2. Configuration
    * []()