+ readme wip
This commit is contained in:
240
README.md
240
README.md
@@ -1 +1,239 @@
|
|||||||
linux arch
|
# linux arch
|
||||||
|
|
||||||
|
## step one :: usb drive preparation
|
||||||
|
|
||||||
|
- download
|
||||||
|
- https://archlinux.org/download/
|
||||||
|
- download signature from main page:
|
||||||
|
- https://archlinux.org/iso/2024.04.01/archlinux-2024.04.01-x86_64.iso.sig
|
||||||
|
- this is also found on the mirror, but i prefer to use the signature from the main site.
|
||||||
|
- https://archmirror1.octyl.net/iso/2024.04.01/archlinux-2024.04.01-x86_64.iso.sig
|
||||||
|
- download iso from mirror
|
||||||
|
- https://archmirror1.octyl.net/iso/2024.04.01/
|
||||||
|
- https://archmirror1.octyl.net/iso/2024.04.01/archlinux-2024.04.01-x86_64.iso
|
||||||
|
- verify iso
|
||||||
|
```
|
||||||
|
$ 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`
|
||||||
|
- 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](https://archinstall.archlinux.page/installing/guided.html)
|
||||||
|
- tuxwarrior: `F2` for BIOS
|
||||||
|
- thinkpad: `F12` for boot options (`F1` for BIOS)
|
||||||
|
- select `ArchLinux install medium (x86_64, x64 UEFI)`
|
||||||
|
- 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
|
||||||
|
- arch iso error
|
||||||
|
- `ip link` gives no wifi
|
||||||
|
- 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: `/tmp` ➔ `yes`
|
||||||
|
- `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 & 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, hostname is optional)
|
||||||
|
- 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)
|
||||||
|
- start firefox
|
||||||
|
- (nextcloud and protonvpn will start automatically, just exit the applications)
|
||||||
|
- start firefox (`SUP + D` ➔ `firefox`)
|
||||||
|
- close firefox
|
||||||
|
- create local sync folder for nextcloud
|
||||||
|
- local folder must match `$SYNCDIR_HOSTNAME` in `dots/environment/environment`
|
||||||
|
- t470p: `/home/poq/nextcloud`
|
||||||
|
- tuxwarrior: `/home/poq/nextcloud`
|
||||||
|
- open the terminal (`SUP + Enter`)
|
||||||
|
- `curae sw` (install sw that were not installed first time around - not sure why this is needed)
|
||||||
|
- `curae dots` (the re-run of dots will deploy firefox settings)
|
||||||
|
- `curae services` (enable services)
|
||||||
|
- `reboot` & re-login
|
||||||
|
- set up nextcloud sync (it should start automatically)
|
||||||
|
- in nextcloud
|
||||||
|
- log in
|
||||||
|
- pick local folder (created above), and
|
||||||
|
- choose to sync everything to the local nextcloud folder
|
||||||
|
- wait for nextcloud to sync (will take hours, depending on the internet speed)
|
||||||
|
- `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 five :: post installation tasks
|
||||||
|
|
||||||
|
- gnome keyring
|
||||||
|
- _"To use automatic unlocking with automatic login, you can set a blank password for the default keyring. Note that the contents of the keyring are stored unencrypted in this case."_
|
||||||
|
- https://wiki.archlinux.org/title/GNOME/Keyring
|
||||||
|
- firefox
|
||||||
|
- install dictionaries for [en-AU](https://addons.mozilla.org/en-US/firefox/addon/english-australian-dictionary/) and [no-NB](https://addons.mozilla.org/en-US/firefox/addon/norsk-bokm%C3%A5l-ordliste/)
|
||||||
|
- singlefile name format:
|
||||||
|
- old: `%if-empty<{page-title}|No title> ({date-locale} {time-locale}).{filename-extension}`
|
||||||
|
- new: `{year-locale}{month-locale}{day-locale}_{url-href-flat}_.{filename-extension}`
|
||||||
|
|
||||||
|
# error solving
|
||||||
|
|
||||||
|
- `sudo journalctl -b` shows error:
|
||||||
|
- `ACPI Error AE_NOT_FOUND` and `could not resolve symbol _SB.PCI0.XDCI`
|
||||||
|
- solution:
|
||||||
|
- `sudo nano /boot/loader/entries/2024-06-06_13-01-32_linux.conf`
|
||||||
|
- add `libata.noacpi=1` to `options`
|
||||||
|
- `sudo journalctl -b` shows error:
|
||||||
|
- `mmio stale data cpu bug present`
|
||||||
|
- solution:
|
||||||
|
- should be safe to ignore this
|
||||||
|
- https://www.reddit.com/r/pop_os/comments/16esxxn/cpu_memory_leak/
|
||||||
|
- `pnp 00:03: disabling [io 0x3322-0x3323] because it overlaps 0000:00:01.0 BAR 13 [io 0x3000-0x3fff]`
|
||||||
|
- solution:
|
||||||
|
- unknown
|
||||||
|
- `nvme nvme0 missing or invalid SUBNQN field`
|
||||||
|
- should be safe to ignore this
|
||||||
|
- https://forums.gentoo.org/viewtopic-t-1106388-start-0.html
|
||||||
|
- `usci_ccg 0-0008: i2c_transfer failed -6` and `usci_ccg 0-0008: ucsi_ccg_init failed -6`
|
||||||
|
- should be safe to ignore
|
||||||
|
- https://bbs.archlinux.org/viewtopic.php?id=262194
|
||||||
|
- `mxm: guid detected in bios`
|
||||||
|
- safe to ignore
|
||||||
|
- https://ubuntuforums.org/showthread.php?t=2491276
|
||||||
|
- `acpi warning: … ._DSM: Argument #4 type mismatch - Found [Buffer] …`
|
||||||
|
- safe to ingore
|
||||||
|
- https://askubuntu.com/questions/842134/acpi-warning-argument-4-type-mismatch
|
||||||
|
- `bluetooth: hci0: hci le coded phy feature bit set, but its usage is not supported`
|
||||||
|
- solution:
|
||||||
|
- unknown
|
||||||
|
- `mount point /boot … is world accessible …` and `random seed file … is world accessible …`
|
||||||
|
- solution:
|
||||||
|
- `sudo umount /boot`
|
||||||
|
- `sudo chmod 700 /boot`
|
||||||
|
- `reboot`
|
||||||
|
- https://bbs.archlinux.org/viewtopic.php?id=287790
|
||||||
|
- `agetty failed to open credentials directory`
|
||||||
|
- solution:
|
||||||
|
- unknown
|
||||||
|
- `nouveau 0000:01L00.0: DRM: … kmsOutp [BL_GET level:0] (ret:-22)`
|
||||||
|
- solution:
|
||||||
|
- install propiretary nvidia drivers
|
||||||
|
- `dbus-broker-launch activation request for org.freedesktop.home1 failed … service could not be found`
|
||||||
|
- safe to ignore
|
||||||
|
- https://forum.manjaro.org/t/dbus-org-freedesktop-home1-service-not-found-i-set-noextract-usr-lib-security-pam-systemd-home-so-in-pacman-conf/77365
|
||||||
|
- `dbus-broker-launch … dunst.service is not named after the d-bus name … notifications`
|
||||||
|
- solution:
|
||||||
|
- unknown
|
||||||
|
- login through lemur display manager does not work
|
||||||
|
- ctrl + alt + f1 ➔ access tty1
|
||||||
|
- login and run `startx`
|
||||||
|
- `startx fatal server error no screens found`
|
||||||
|
- `rm /etc/X11/xorg.conf`
|
||||||
|
- `rm -r /etc/X11/xorg.conf.d`
|
||||||
|
- https://bbs.archlinux.org/viewtopic.php?id=149368
|
||||||
|
- wifi / network card only available on some boots.
|
||||||
|
- soultion:
|
||||||
|
- unknown
|
||||||
|
|
||||||
|
# more info
|
||||||
|
|
||||||
|
- original issue: https://gitlab.com/pqq/pIssues.2/-/issues/254
|
||||||
|
|||||||
Reference in New Issue
Block a user