how to install arch (with btrfs and without frustration)
Download Endeavour and click through the wizard?
isnt it the same with arch? at least when I tried arch I just clicked through the install menu
isnt it the same with arch?
I once to helped troubleshoot an EndeavourrOS user.
during the process I discovered that their kernel parameters were being reset with every kernel update, this was because Endeavour was using dracut instead of mkinitcpio…
during the process I discovered that their kernel parameters were being reset with every kernel update
That’s pretty horrid. They ought to have fixed that since. Right?
Damn, the last time I used it I could’ve sworn it was just arch with a wizard and some custom dotfiles. Although that was like 3 years ago.
I never actually used archinstall, only manual and derivatives which were essentially arch with a wizard.
Nooooo, you will have that heavily bloated Plasma desktop! That won’t run properly on my 4GB Raspberry Pi (it does)!
You can choose the de by clicking in the wizard
Plasma was hell on my x230 (gen3 i5 + 4gb ram), it only worked properly with 8gb. Is it different somehow for ARM versions of Linux?
Heed the ‘downside’ of using btrfs carefully before choosing that option over say, ext4, especially if you ever do a hard-shutdown, prone to power-outages, etc. It will scramble your system files.
especially if you ever do a hard-shutdown, prone to power-outages, etc. It will scramble your system files.
Btrfs is made precisely so that a power outages don’t do that! and you don’t end up like ext4 with bad superblock nonsense.
Been using Btrfs for over 3 years at this point, 0 issues and over 400 unsafe shutdowns: https://imgur.com/a/AKXFdKb
In fact it was able to detect when my previous ssd was dying, I thought Btrfs was spewing nonsense until the next day when smartctl began to report issues as well lol.
I have had corrupt filesystem errors with BTRFS on both of my computers due to power outages and one hard shutdown (had to), that was the end of it. I will stick to ext4, a log file system that is more stable. Used ext4 for YEARS (I am old) and never had these issues with such frequency. Stick to what is hardened and solid, BTRFS is still under development. The fanboys love to use it as the next best thing, and it does have some nice features, but stability is not one of them, at least in these type of situations.
I have had corrupt filesystem errors with BTRFS on both of my computers due to power outages and one hard shutdown (had to)
When did this happen? what error did you get?
Btrfs will explicitly go read only when it detects corruption, which is a good thing, with EXT4 you don’t know what is going on until it is too late.
fwiw the only time I managed to get info from an user that had “issues” with btrfs, I discovered that what had happened is that they moved the partition that had snapshots, and if you don’t know it, this is catastrophic because this unlinks all the snapshots and suddenly everything would take many times more storage.
Used ext4 for YEARS (I am old) and never had these issues with such frequency
The short time I’ve used EXT4 running into bad superblock errors was something that happened almost every week, but in the end I was always able to repair the disk and recover everything.
I’m from Venezuela, power failures are common here.
Do better
################################################################################# #################################################################################
A minimal Arch install procedure with encrypted /boot and /
################################################################################# #################################################################################
Format virtual drive to have 1 large primary partition and mark it as bootable
echo -e “o\nn\np\n1\n\n\na\nw” | fdisk /dev/sda
It really is that simple to set up the partition table. o wipes the previous
table, n creates a new partition, and a makes it bootable. w writes the changes.
Encrypt entire volume
Default iter is 2000 and takes 22 seconds for grub to decrypt, adjust accordingly
cryptsetup -v --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 50000
–use-random --verify-passphrase luksFormat --type luks1 /dev/sda1or if that takes too long to type or you don’t care; you can use the defaults:
The luks1 however matters until grub finishes adding sufficient support for
luks2. Argon2id (cryptsetup default) and Argon2i PBKDFs are not supported, only
PBKDF2 is at this time
cryptsetup -v --use-random -y luksFormat --type luks1 /dev/sda1
Open for formating
cryptsetup open /dev/sda1 root
Actually format
mkfs.btrfs /dev/mapper/root
Mount partitions
mount /dev/mapper/root /mnt
Fix the slow install problem
pacman -Sy pacman -S pacman-contrib cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
if per policy reasons you need to limit yourself to the USA
curl “https://archlinux.org/mirrorlist/?country=US” | sed ‘s/#Server/Server/g’ \
>| /etc/pacman.d/mirrorlist.backup
rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist
Install bootstrap
pacstrap /mnt base linux linux-firmware btrfs-progs lvm2
if you see bill-auger is unknown trust
pacman -S archlinux-keyring parabola-keyring
Setup fstab
genfstab -U /mnt >> /mnt/etc/fstab
Chroot into mount
arch-chroot /mnt
Set root password
passwd
Setup timezone
ln -sf /usr/share/zoneinfo/US/Michigan /etc/localtime
Setup locales
echo “en_US.UTF-8 UTF-8” > /etc/locale.gen echo “LANG=en_US.UTF-8” > /etc/locale.conf locale-gen
Set hostname
export hostname=encom
Use it
echo “$hostname” >| /etc/hostname { cat <<-EOF 127.0.0.1 localhost 127.0.1.1 $hostname
The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters EOF } >| /etc/hosts
Enable dhcp on ethernet
pacman -S dhclient
#enable wifi pacman -S iw iwd
Fix kernel file system
YES order matters for stupid reasons
components=“base
udev
autodetect
modconf
keyboard
block
encrypt
lvm2
filesystems
keyboard
fsck”; sed -i “/^HOOKS=/c\HOOKS=(${components})” /etc/mkinitcpio.confModify: to add support for encrypt and lvm2
build new initial ramdisk:
mkinitcpio -p linux
May produce warnings about lwn2, can safely ignore
Setup grub
pacman -S grub
indicate /boot is encrypted
sed -i ‘/^GRUB_CMDLINE_LINUX=/c\GRUB_CMDLINE_LINUX=“cryptdevice=/dev/sda1:root”’
/etc/default/grubEnable support for encrypted /boot
sed -i ‘/^#GRUB_ENABLE_CRYPTODISK=/c\GRUB_ENABLE_CRYPTODISK=“y”’ /etc/default/grub
Uncomment GRUB_ENABLE_CRYPTODISK=y
mkdir /boot/grub grub-mkconfig -o /boot/grub/grub.cfg grub-install /dev/sda
################################################################################# #################################################################################
Reboot as the core setup is done and the rest can be done inside our new arch
Linux system as root/administrator
################################################################################# #################################################################################
Remove need to type luks password twice
dd bs=512 count=4 if=/dev/urandom of=/crypto_keyfile.bin chmod 400 /crypto_keyfile.bin cryptsetup luksAddKey /dev/sda1 /crypto_keyfile.bin
Set init to use that file
sed -i “/^FILES=/c\FILES=/crypto_keyfile.bin” /etc/mkinitcpio.conf
build new initial ramdisk:
mkinitcpio -p linux
Enable networking
dhclient ens33
Setup sudo group for membership and useful privileges
pacman -S sudo vim wget groupadd sudo
Uncomment the %sudo line
sed -i ‘/^# %sudo/c%sudo\tALL=(ALL:ALL) ALL’ /etc/sudoers
Setup our power user
export USERNAME=user useradd -m $USERNAME passwd $USERNAME usermod -G sudo -a $USERNAME
################################################################################# #################################################################################
If you want guix for everything else on your system use the install guix
procedure instead of following the rest of this procedure.
#################################################################################
You may now logout and finish the rest of this procedure as your
administrative account created previously
################################################################################# #################################################################################
Install baseline gui
sudo pacman -S i3-wm xorg-server xorg-xinit xf86-video-vesa xorg mesa slim
xorg-xrdb dmenu emacs st git gcc make htop screen
binutils stow