2024-08-17 15:22:16 -05:00
u
2024-08-17 14:54:13 -05:00
2024-05-12 14:14:13 -05:00
2024-08-17 15:22:16 -05:00
2024-08-17 14:49:10 -05:00

linux arch

step one :: usb drive preparation

$ gpg --keyserver-options auto-key-retrieve --verify archlinux-2024.04.01-x86_64.iso.sig
gpg: assuming signed data in 'archlinux-2024.04.01-x86_64.iso'
gpg: Signature made 2024-04-01T13:00:16 EST
gpg:                using EDDSA key 3E80CA1A8B89F69CBA57D98A76A5EF9054449A5C
gpg:                issuer "pierre@archlinux.org"
gpg: key 76A5EF9054449A5C: public key "Pierre Schmitz <pierre@archlinux.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: Good signature from "Pierre Schmitz <pierre@archlinux.org>" [unknown]
gpg:                 aka "Pierre Schmitz <pierre@archlinux.de>" [unknown]
gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 3E80 CA1A 8B89 F69C BA57  D98A 76A5 EF90 5444 9A5C
  • install to usb
    • insert usb
    • lsblk (alt: df)
      • ➔ usb = sda
    • sudo dd bs=4M if=archlinux-2024.04.01-x86_64.iso of=/dev/sda status=progress oflag=sync
      • troubleshooting
        • error: dd: failed to open '/dev/sda': Device or resource busy
        • solution: using gparted, you can reformat the drive (from fat32) to ext4, then try again

step two :: boot the iso

  • boot the target system using the arch iso, and prepare for a guided install
    • tuxwarrior: F2 for BIOS
    • thinkpad: F12 for boot options (F1 for BIOS)
  • select ArchLinux install medium (x86_64, x64 UEFI)
    • troubleshooting
      • grub error
        • error: you need to load the kernel first
        • error start_image() returned 0x800000000000001
        • solution
          • reinstall iso on usb
      • arch iso error
        • squashfs error unable to read
        • solution
          • re-install the ISO on another USB device

step three :: generate config for new hosts

  • on new host:
  • archinstall --dry-run
    • install language: english (default)
    • mirrors: colombia, united states, worldwide
    • locales: keyboard us, loc lang en_AU.UTF-8, loc enc UTF-8
    • disk config: use a best-effort default partition layout ➔ pick main hd ➔ btrfs ➔ default structure yes ➔ compression or disable Cow ESC (do not)
    • disk encryption: no (default)
    • bootloader: systemd-boot (default)
    • unified kernel image: False (default)
    • swap: True (default)
    • hostname: tuxwarrior
    • root password: leave blank (default)
    • user account: leave empty (default)
    • profile: type ➔ minimal
    • audio: pipewire
    • kernels: linux (default)
    • additional packages: git nano tree wget
    • network configuration: Use NetworkManager
    • timezone: America/Panama
    • Automatic time sync: True (default)
    • Optional repositories: leave blank (default)
    • Save configuration

      • Save user configuration (inc disk layout)

      • Save directory: /tmpyes
  • curl -F'file=@user_configuration.json' https://0x0.st
  • on existing host:
  • for this repo, inside dots/archinstall create folder for new host (use hostname as folder name)
    • open page given above, like https://0x0.st/Xbov.json
    • save raw content as user_configuration.json
    • (change gfx_driver value from null to Nvidia (proprietary)) - not needed, i think
    • save file
  • from a pre-existing host directory, copy over and modify (if needed) options.sh, packages.txt and services.txt. this should be copied to new host directory
    • example: copied from dots/archinstall/t470p to dots/archinstall/tuxwarrior
  • commit changes to this repo, adding the new host files

step four :: arch install :: the basics

  • ip link
    • lo (loopback - special device)
    • enp0s31f6 (ethernet)
    • wlan0 (wifi)
  • iwctl
    • station wlan0 scan
    • station wlan0 get-networks
    • station wlan0 connect -_-
    • exit
  • cd /tmp
  • curl -L -O https://git.mz.fo/fro/lnx-arch/raw/branch/master/scripts/archinstall_config_download.sh
    • (-L to follow redirects, -O to save to disk)
  • chmod 755 archinstall_config_download.sh
  • cat archinstall_config_download.sh
  • ./archinstall_config_download.sh
    • hostname: tuxwarrior
    • password: [poq.L2]
    • make sure both user .json files have been downloaded and updated
      • two files should be listed: user_configuration.json and user_credentials.json
      • check datestamp shown at the end when running the script
  • archinstall --config user_configuration.json --creds user_credentials.json
    • Install
    • Would you like to chroot into ... perform post-installation config?

      • no
    • reboot

step four :: arch install :: software & dot files (dots)

  • log in as poq
  • nmtui (activate internet connection)
  • set up curae (system tool)
    • cd /tmp
    • wget https://git.mz.fo/fro/lnx-arch/raw/branch/master/scripts/curae_setup.sh
    • cat curae_setup.sh ➔ verify the file content
    • chmod 755 curae_setup.sh
    • sudo ./curae_setup.sh
  • sudo curae yay (install yay, which is used to install aur packages)
  • sudo curae uf (full update, install packages)
    • same as running the two commands:
    • sudo curae sw
    • sudo curae dots
  • sudo curae dots+ (download wallpapers, fonts++)
  • sudo ufw enable (enable firewall)
  • reboot & re-login
  • startx (start window manager)
  • several windows will start, and in the background there will be a window where you are asked to set password for the gnome keyring
    • the gnome keyring window will always be in focus, and there is no way to close the other windows while this is happening
    • press escape to close the gnome window
    • close the pCloudDrive, Nextcloud and ProtonVPN windows
  • open and close firefox to have firefox's profile directory being created
    • start firefox (SUP + Dfirefox)
    • close firefox
  • open the terminal (SUP + Enter)
  • create local sync folder for nextcloud
    • local folder must match $SYNCDIR_HOSTNAME in dots/environment/environment
      • t470p: mkdir /home/poq/nextcloud
      • tuxwarrior: mkdir /home/poq/nextcloud
  • curae sw (install sw that were not installed first time around - not sure why not all sw is installed the first time around)
  • curae dots (the re-run of dots will deploy firefox settings)
  • curae services (enable services)
  • reboot & re-login
  • once again, press esc to close the gnome keyring window
    • leave the other windows open
  • open firefox and log into bitwarden.com
    • here you will find the needed usernames, passwords and one time codes for logging into the below mentioned applications
  • set up pCloud
    • log in
    • the first time login process takes quite a while
  • set up protonvpn
    • log in (but wait with enabling vpn until nextcloud has completed syncing)
  • set up nextcloud
    • log in
      • server address: https://nx.mz.fo
      • at this point the gnome keyring manager will pop up again, and ask for a password
        • leave both (password and confirm) fields blank, and press continue, and chose to store passwords unencrypted
    • pick local folder (created above, like /home/poq/nextcloud), and
    • choose Synchronize everything from server
      • and disable the two options Ask before syncing folders larger than xxx and Ask before syncing external storages
    • click Connect
  • wait for nextcloud to complete syncronisation
    • this will take many hours, possibly days, depending on the internet speed

step five :: post syncronisation tasks

  • syncDirSetup.sh (will set up ~/syncDir)
  • mountDownloadsDir.sh (will mount ~/Downloads to syncDir's download dir)
  • deploySshKeys.sh (deployment of ssh keys)
  • importGnupgKeys.sh (deployment of gnupgp keys)
  • reboot and re-login

step six :: final tweaks

error solving

more info

misc notes

Description
arch linux
Readme 4.7 MiB
Languages
Shell 85.4%
Python 12.5%
CSS 2.1%