Skip to content

Latest commit

 

History

History
113 lines (112 loc) · 5.74 KB

README.md

File metadata and controls

113 lines (112 loc) · 5.74 KB

Arch Linux install

Set of install and configuration files

Notation


Introduction

  • Modularity of the installation and configuration process
  • Full disk encryption
  • Separate password for each encrypted container
  • Auto mounting home partition with the key file
  • Hibernation support
  • Mirror list ordered by the fastest to lowest
  • Continuous TRIM
  • Intel microcode
  • Grub multi-boot loader
  • systemd system and service manager
  • Partition scheme: BIOS/GPT.
  • Firewall support
  • ZSwap suppot

Requirements

  • TRIM compatible SSD
  • Intel CPU
  • Unallocated SDA area

Content

Chapter Object Description
1. Base Installation 1_baseInstall.sh Install base clean system on Unalocated SDA area
1. Base Installation 1_2_firewallSetup.sh Configures standart base firewall(nftables approach)
2. User Installation 2_userSetup.sh Configures standart user settings. ZSwap support

Prerequisites

  • Download the freshet ISO Arch image Arch ISO
  • Free up necessary space on SDA

Technical details

  • To be able to open swap/home containers within booting without prompting of password there are appropriate file keys at /etc/luks-keys is used by the system.
  • In additional home container can be encrypted with the encryption_passphrase_home.
  • For hibernation support encrypted swap container must be early opened. To reach this goal /etc/luks-keys/swap key file is embedded into initramfs.
  • When hibernation is OFF swap partition is mounted as plain encrypted with random UUID each boot.
  • To get more about encryption see.

1. Base Installation

NAME FSTYPE FSVER MOUNTPOINT
sda
├─sda1
├─sda2 crypto 1
    └sda2 ext4 1.0 /boot
└─sda3 LVM2_m LVM2
      ├─{volume_group}-cryptroot crypto 2
          └─root ext4 1.0 /
      ├─{volume_group}-cryptswap crypto 2
          └─swap swap 1 [SWAP]
      └─{volume_group}-crypthome crypto 2
          └─home ext4 1.0 /home

1.2 Variables

  • continent_city. Is used to set machine zone. See Arch time zone
  • country_for_mirror. Is used to set mirror servers. See Arch_mirrors
  • encryption_passphrase_root. Is used to set encryption password for the root container.
  • encryption_passphrase_boot. Is used to set encryption password for the boot container. The same as encryption_passphrase_root by default.
  • encryption_passphrase_home. Is used to set encryption password for the home container. The same as encryption_passphrase_root by default.
  • root_password. Is used to set encryption password for the root user. The same as encryption_passphrase_root by default.
  • user_name. Defines user name for th new user.
  • user_password. Is used to set encryption password for the new user. The same as encryption_passphrase_root by default.
  • volume_group. Defines volume group name to store root,swap,home logical volumes. For example: vg0
  • part_root_size. Gigabytes reserved for the root partition.
  • part_swap_size. Gigabytes reserved for the swap partition.
  • host_name. Defines machines host name.
  • with_hibernation. Turns ON/OFF special setup in hibernation purpose for.
  • with_firewall. Turns ON/OFF firewall setup. See Arch firewall
  • disk_type defines physical disk drive where system is going to be installed to. When SDA, TRIM and swappiness configurations take the part. More details about SSD. More details about SWAP
  • Gigabytes reserved for the TMPFS. Is OFF, when equal to zero.

1.3 Installation

1. User Installation

2.1 Goals

  • Zramswap
  • General user's folder
  • Vulkan support
  • Programs:
    • firefox
    • openssh
    • htop
    • nmon
    • p7zip
    • ripgrep
    • unzip
  • Base fonts:
    • ttf-roboto
    • ttf-droid
    • ttf-opensans
    • ttf-dejavu
    • ttf-liberation
    • ttf-hack
    • noto-fonts
    • ttf-fira-code
    • cantarell-fonts

2.2 Variables

  • with_zswap. Turns ON/OFF Zswap. More details about ZSwap "zram and zswap" section. For activation is used zramswap AUR package zramswap

2.3 Installation

  • Navigate to home directory using > cd ~
  • Clone repository using > git clone https://github.com/lukashonak/arch-linux ArchInstall
  • Make sh files executable using > for file in $(find ~/ArchInstall -type f -name '*.sh'); do chmod +x $file; done