From 486c7a283efd742fc7b4f4b0234a0fc0ad2933fe Mon Sep 17 00:00:00 2001 From: exu Date: Tue, 28 May 2024 18:42:48 +0200 Subject: [PATCH] Update Arch guide as base for blendOS --- pages/02.linux/guides/arch/default.en.md | 132 +++++++++++------------ 1 file changed, 60 insertions(+), 72 deletions(-) diff --git a/pages/02.linux/guides/arch/default.en.md b/pages/02.linux/guides/arch/default.en.md index 73da769..40194b1 100644 --- a/pages/02.linux/guides/arch/default.en.md +++ b/pages/02.linux/guides/arch/default.en.md @@ -19,7 +19,7 @@ loadkeys de_CH-latin1 ## Check UEFI mode -If the following command works, the system is booted in EFI. +If the following command works, the system is booted in EFI. [shroot] @@ -66,7 +66,7 @@ Use `Linux filesystem` for other partitions _Note: Do not put your /efi partition on an encrypted partition!_ -Create encrypted Partition with a label. This label will later be used to identified the bootdevice as a simpler alternative to UUIDs. +Create encrypted Partition with a label. This label will later be used to identified the bootdevice as a simpler alternative to UUIDs. [shroot] @@ -76,7 +76,7 @@ cryptsetup luksFormat --label=(label) /dev/(partition) [/shroot] -Open the partition and specify a name +Open the partition and specify a name [shroot] @@ -91,7 +91,9 @@ The name should show up there ## Format partitions -Fat 32: +### EFI or BIOS partition + +Fat 32: [shroot] @@ -101,9 +103,9 @@ mkfs.fat -F32 /dev/(partition) [/shroot] -_For EFI or BOOT partition_ +### Root and other partitions -Ext4: +**Ext4** [shroot] @@ -113,9 +115,7 @@ mkfs.ext4 /dev/(partition) [/shroot] -_All other partitions_ - -Btrfs: +**Btrfs** [shroot] @@ -125,7 +125,15 @@ mkfs.btrfs /dev/(partition) [/shroot] -_All other partitions_ +**Bcachefs** + +[shroot] + +``` +bcachefs format /dev/(partition) +``` + +[/shroot] ## Mounting partitions @@ -135,7 +143,7 @@ Be careful in choosing you EFI mountpoint when using full disk encryption. Using `/efi` will lead to much longer boot times in GRUB and be completely unsupported in other bootloaders. See [this feature comparison](https://wiki.archlinux.org/title/Arch_boot_process#Boot_loader) for details. For `/efi` size really doesn't matter much and can be 1 or 2 megabytes. 16MB is probably a good size. -If you're using `/boot`, the kernel and initramfs will also be stored on this partition among others. Recommended sizes range from 256MB to 512MB +If you're using `/boot`, the kernel and initramfs will also be stored on this partition among others. Recommended sizes range from 256MB to 512MB ``` Root: /mnt @@ -146,7 +154,7 @@ etc... ### (BTRFS) Btrfs preparation of subvolumes and mounting -Mount root partition +Mount root partition [shroot] @@ -156,7 +164,7 @@ mount /dev/(partition) /mnt [/shroot] -Root subvolume +Root subvolume [shroot] @@ -166,7 +174,7 @@ btrfs subv create /mnt/@ [/shroot] -Home subvolume +Home subvolume [shroot] @@ -176,7 +184,7 @@ btrfs subv create /mnt/@home [/shroot] -Snapshots subvolume for snapper +Snapshots subvolume for snapper [shroot] @@ -186,7 +194,7 @@ btrfs subv create /mnt/@snapshots [/shroot] -Var subvolume +Var subvolume [shroot] @@ -196,17 +204,6 @@ btrfs subv create /mnt/@var_log [/shroot] -_If you want to use a swapfile with Snapper, create a new subvolume now_ -Swap subvolume - -[shroot] - -``` -btrfs subv create /mnt/@swap -``` - -[/shroot] - [shroot] ``` @@ -219,9 +216,9 @@ Mount root `mount -o noatime,compress-force=zstd,subvol=@ /dev/(partition) /mnt` With /efi -`mkdir -p /mnt/{efi,home,.snapshots,var/log,swap}` +`mkdir -p /mnt/{efi,home,.snapshots,var/log}` With /boot -`mkdir -p /mnt/{boot,home,.snapshots,var/log,swap}` +`mkdir -p /mnt/{boot,home,.snapshots,var/log}` Mount home `mount -o noatime,compress-force=zstd,subvol=@home /dev/(partition) /mnt/home` @@ -229,47 +226,15 @@ Mount home Mount snapshots for snapper `mount -o noatime,compress-force=zstd,subvol=@snapshots /dev/(partition) /mnt/.snapshots` -Mount var +Mount var/log `mount -o noatime,compress-force=zstd,subvol=@var_log /dev/(partition) /mnt/var/log` -Swap subvolume -`mount -o noatime,subvol=@swap /dev/(partition) /mnt/swap` - **Don't forget mounting other partitions!!** -## Swap - -### Swapfile - -#### Normal way - -**NOT FOR BTRFS!** - -[shroot] - -``` -dd if=/dev/zero of=/mnt/swapfile bs=1M count=(size) status=progress -``` - -[/shroot] - -#### (BTRFS) Swapfile in btrfs - -_Use a separate subvolume to work with snapper_ - -[shroot] - -``` -btrfs fi mkswapfile --size [SIZE]g --uuid clear /mnt/swap/swapfile -swapon /mnt/swap/swapfile -``` - -[/shroot] - ## Essential packages Install a few essential packages using `pacstrap`. -Additional packages might also be necessary, see the list below. +Additional packages might also be necessary, see the list below. [shroot] @@ -389,7 +354,7 @@ pacman -S refind [/shroot] -Use the rEFInd installation script. In most cases no specific configuration is necessary +Use the rEFInd installation script. In most cases no specific configuration is necessary [shroot] @@ -399,22 +364,43 @@ refind-install [/shroot] -**Manual editing of the generated configuration file is necessary when installing rEFInd from the Arch boot ISO** +**Manual editing of the generated configuration file is necessary when installing rEFInd from the Arch boot ISO** + +_TODO insert config here_ -_TODO insert config here_ ``` "Boot with standard options" "rw loglevel=3 quiet cryptdevice=LABEL=(label):(name) root=/dev/mapper/(name) rootflags=subvol=@" ``` -### mkinitcpio with LUKS +### GRUB -Some additional settings are necessary in `/etc/mkinitcpio.conf` in order to enable booting from LUKS-encrypted disks. +[shroot] -Edit the `HOOKS` section in `/etc/mkinitcpio.conf` by adding `encrypt` after `block` and before `filesystems` +``` +pacman -S grub efibootmgr +``` -Also ensure `keyboard keymap` are present before `encrypt` in order to allow the loading of the default keyboard language from `/etc/vconsole.conf` to enter the decryption password. +[/shroot] -Regenerate all initramfs presets +Make sure the `/boot` or `/efi` partition is mounted + +[shroot] + +``` +grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB +``` + +[/shroot] + +### (LUKS) mkinitcpio with LUKS + +Some additional settings are necessary in `/etc/mkinitcpio.conf` in order to enable booting from LUKS-encrypted disks. + +Edit the `HOOKS` section in `/etc/mkinitcpio.conf` by adding `encrypt` after `block` and before `filesystems` + +Also ensure `keyboard keymap` are present before `encrypt` in order to allow the loading of the default keyboard language from `/etc/vconsole.conf` to enter the decryption password. + +Regenerate all initramfs presets [shroot] @@ -519,6 +505,8 @@ pacman -S snap-pac _WIP_ -`paru -S refind-btrfs` +`paru -S refind-btrfs` `systemctl enable --now refind-btrfs.service` + +TODO config