From a60784bfc05c092580f5befeadd86a13f07a055c Mon Sep 17 00:00:00 2001 From: "gregor.leuthner" Date: Mon, 17 Feb 2025 13:06:03 +0100 Subject: [PATCH] arch linux install --- content/Archlinux.md | 225 +++++++++++++++++++++++++++++++++++++++++++ content/btrfs.md | 39 ++++++++ quartz.config.ts | 4 +- 3 files changed, 266 insertions(+), 2 deletions(-) create mode 100644 content/Archlinux.md create mode 100644 content/btrfs.md diff --git a/content/Archlinux.md b/content/Archlinux.md new file mode 100644 index 000000000..13660ab92 --- /dev/null +++ b/content/Archlinux.md @@ -0,0 +1,225 @@ +- [ArchLinux](https://archlinux.org/) + +## install +- https://wiki.archlinux.org/title/Installation_guide +- https://www.walian.co.uk/arch-install-with-secure-boot-btrfs-tpm2-luks-encryption-unified-kernel-images.html + +```bash +# set keymap +loadkeys de + +#fdisk /dev/sda # mbr +gdisk /dev/sda # gpt + +mkfs.ext4 -L BOOT /dev/sda2 +cryptsetup --type luks2 --cipher aes-xts-plain64 --key-size 512 --hash sha512 --use-random --verify-passphrase luksFormat /dev/sda3 +cryptsetup luksOpen /dev/sda3 root +mkfs.btrfs -L root /dev/mapper/root + +mount /dev/mapper/root /mnt && cd /mnt +btrfs subvolume create @home +btrfs subvolume create @root +btrfs subvolume create @log +btrfs subvolume create @tmp +btrfs subvolume create @pkg +btrfs subvolume create @snapshots +cd ~ && umount /mnt + +mount -o relatime,space_cache=v2,compress=lzo,subvol=@root /dev/mapper/root /mnt +mkdir -p /mnt/{boot/efi,home,var/log,var/cache/pacman/pkg,btrfs,tmp} + +mount -o relatime,space_cache=v2,ssd,compress=lzo,subvol=@log /dev/mapper/root /mnt/var/log +mount -o relatime,space_cache=v2,ssd,compress=lzo,subvol=@pkg /dev/mapper/root /mnt/var/cache/pacman/pkg/ +mount -o relatime,space_cache=v2,ssd,compress=lzo,subvol=@tmp /dev/mapper/root /mnt/tmp +mount -o relatime,space_cache=v2,ssd,compress=lzo,subvol=@home /dev/mapper/root /mnt/home + +mount /dev/sda1 /mnt/boot + +# setup networking!! +pacman-key --refresh-keys +pacstrap -K /mnt base base-devel linux linux-firmware vi + +genfstab -U /mnt >> /mnt/etc/fstab + +arch-chroot /mnt + +echo "KEYMAP=de" > /etc/vconsole.conf + +ln -sf /usr/share/zoneinfo/Europe/Vienna /etc/localtime +echo "Europe/Vienna" > /etc/timezone +hwclock --systohc + +sed -i '/de_AT.UTF-8 UTF-8/s/^#//g' /etc/locale.gen +locale-gen +echo 'LANG="de_AT.UTF-8"' > /etc/locale.conf + +# Initramfs +vi /etc/mkinitcpio.conf +# HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block encrypt filesystems fsck) +mkinitcpio -P +pacman -S linux-firmware cryptsetup btrfs-progs + +pacman -S grub os-prober efibootmgr +grub-install --recheck /dev/sda # mbr +grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub # gpt +grub-mkconfig -o /boot/grub/grub.cfg + +pacman -S dhclient sudo + +# for encryption eddid /etc/default/grub +#GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdXn:root root=/dev/mapper/root quiet" + + +# user +passwd + +# set user +useradd -m x4x +passwd x4x +usermod -a -G wheel,adm,floppy,audio,video x4x + + +echo "x4x-arch" > /etc/hostname +echo "127.0.0.1 localhost" >> /etc/hosts +echo "::1 localhost" >> /etc/hosts + +# gui +# pacman -S mesa lshw xf86-video-intel lib32-vulkan-intel +pacman -S xorg +# https://wiki.archlinux.org/title/KDE +#pacman -S plasma kde-applications +pacman -S xterm plasma-meta # or more minimal: plasma-desktop +pacman -S sddm +systemctl enable sddm +pacman -S filelight + +pacman -S btrfs-progs cryptsetup snapper +pacman -S networkmanager +pacman -S sudo man-db htop vi curl screen +pacman -S python3 python-pip +pacman -S device-mapper lvm2 +pacman -S openssl openssl-1.1 pacman glibc mkinitcpio fuse2 +pacman -S ntfs-3g +#sudo pacman -Rs mplayer +# Remove Orphaned (Unused) Packages +#sudo pacman -Rns $(pacman -Qdtq) +# Searching for Already Installed Packages +#pacman -Qs vlc +# Clean-Up Package Cache +sudo pacman -Sc + +# set x11 keymap +localectl set-x11-keymap de + +systemctl enable systemd-networkd +systemctl enable systemd-resolved systemd-timesyncd NetworkManager +``` + +### swap +#### with ext4 +```bash +sudo dd if=/dev/zero of=/swapfile bs=1M count=8192 +sudo chmod 0600 /swapfile +sudo mkswap /swapfile +sudo swapon /swapfile +echo "/swapfile none swap sw 0 0" >> /etc/fstab +``` +#### [[btrfs#SWAP with btrfs]] +make sure swap is on the [[btrfs]] level not in the root subvolium or snapshots dont work! + +## yay (AUR) +in manjaro it can be installed with pacman + +- https://aur.archlinux.org/ +- https://wiki.archlinux.org/title/Arch_User_Repository +```bash +pacman -S git go +mkdir ~/git && cd ~/git +git clone https://aur.archlinux.org/yay.git +cd yay/ && makepkg -si +yay --version +# install package +yay -S librewolf-bin +``` + +### develoment +```bash +sudo pacman -S sdl2 cmake gcc make libgl strace ltrace binutils gdb libtool automake autoconf aspell clang +``` +### makepkg +- https://wiki.archlinux.org/title/Makepkg +for systems with less ram or CPU: +```bash +vi /etc/makepkg.conf +``` +set: +- `MAKEFLAGS="-j2"` +- `CFLAGS` set `-O2 -march=native` + +### rustc (optional) +optimize [[Rust_language]] so yay doesn't run out of memory. +- https://doc.rust-lang.org/cargo/reference/config.html +in `~/.cargo/config` +```toml +[build] +jobs = 1 +rustflags = ["-C", "target-cpu=native", "-C", "opt-level=3"] +``` +## snapper +- https://wiki.archlinux.org/title/Snapper +- https://man.archlinux.org/man/extra/snap-pac/snap-pac.8.en +- http://snapper.io/faq.html +```bash +pacman -S snapper snap-pac +# snap-pac is a hook that creates a snapshot everytime pacman is run + +#snapper -c root create-config / +sudo snapper -c root create-config -f btrfs / +pacman +snapper -c root list +sudo snapper list-configs +sudo snapper --config root list + +# list transaction canges +snapper -c root list -t pre-post +snapper -c root status 1..2 +snapper -c root undochange 1..2 + +# create snapschot +snapper -c root create + +# delete +sudo snapper --config root delete 1-10 +``` + +## fonts +```bash +pacman -S noto-fonts noto-fonts-cjk + +# or +sudo yay -S ttf-arphic-extra +sudo pacman -S noto-fonts +sudo pacman -S ttf-arimo-nerd +``` + +## tools +```bash +sudo pacman -S xclip cronie +sudo pacman -S networkmanager-openconnect networkmanager-openvpn networkmanager-pptp network-manager-sstp +sudo pacman -S wireguard-tools +sudo pacman -S neofetch +``` + +## speech +- https://wiki.archlinux.org/title/Speech_dispatcher +- https://wiki.archlinux.org/title/Festival +```bash +sudo pacman -S speech-dispatcher espeakup festival +spd-conf +``` +## real HW +```bash +pacman -S usbutils nmap openbsd-netcat wget ansible gdu firefox + +``` + diff --git a/content/btrfs.md b/content/btrfs.md new file mode 100644 index 000000000..0eecf860a --- /dev/null +++ b/content/btrfs.md @@ -0,0 +1,39 @@ +- https://wiki.archlinux.org/title/Btrfs + +```bash +# help +btrfs help + +# get status +btrfs fi show +btrfs filesystem show + +# device statistic +sudo btrfs device stats /dev/mapper/sdc_crypt + +# disk usage +sudo btrfs filesystem df /sharedfolders/docker + +# reblanace +btrfs balance start / +btrfs balance status / + +# subvoliums +btrfs subvolume list / +btrfs subvolume create +btrfs subvolume snapshot +btrfs subvolume delete +``` + +## resize +```bash +btrfs filesystem resize max /mnt +``` + +#### SWAP with btrfs +```bash +cd / +btrfs filesystem mkswapfile --size 2G /btrfs/swapfile +swapon /btrfs/swapfile +sudo sh -c 'echo "/btrfs/swapfile none swap sw 0 0" >> /etc/fstab' +``` diff --git a/quartz.config.ts b/quartz.config.ts index dc339d987..c1a16e5af 100644 --- a/quartz.config.ts +++ b/quartz.config.ts @@ -8,7 +8,7 @@ import * as Plugin from "./quartz/plugins" */ const config: QuartzConfig = { configuration: { - pageTitle: "🪴 Quartz 4.0", + pageTitle: "x4xs Quartz", pageTitleSuffix: "", enableSPA: true, enablePopovers: true, @@ -16,7 +16,7 @@ const config: QuartzConfig = { provider: "plausible", }, locale: "en-US", - baseUrl: "quartz.jzhao.xyz", + baseUrl: "x4xblog.netlify.app", ignorePatterns: ["private", "templates", ".obsidian"], defaultDateType: "created", generateSocialImages: false,