I have already blogged about EndeavourOS, which I use most of the time on all my computers (desktops and laptops). Since EndeavourOS, based on Arch, is a rolling release, I update it almost daily and don’t need to install it from scratch when a new release comes out, like Cassini, released a few days ago. However, I wanted to try this new release by installing it from scratch (of course, using BTRFS).
I’ll first go through the installation, but I can anticipate that, once again, I’m impressed by EndeavourOS. This installation is smooth, with some novelties: you can choose between “grub” and “systemd-boot” now. Moreover, they switched from “mkinitcpio” to “dracut” for the generation of initramfs (this requires a few adjustments if you want to enable hibernation). Most of all, EndeavourOS is pure Arch but with outstanding defaults. Indeed, the KDE and GNOME environments are vanilla ones, with only a few customizations.
This time, I’ll install GNOME (but I’ll briefly say something about the KDE version at the end of this article).
Installation
First, I’m using Ventoy to boot the installer because I keep several Linux ISOs on the USB stick. I first made sure to update Ventoy because I read that the old versions did not work correctly with the latest Arch-based ISOs. Moreover, once I selected the “Cassini” ISO:
I got another menu (that’s something new), where I selected GRUB:
As usual, the first thing to do, once booted into the live environment, XFCE, is set up the network connection. You might also want to change the keyboard layout (Disable system defaults and install your layout, in my case, it’s the Italian layout):
Then, let’s update the mirrors (typically by selecting your state and possibly another one near you) with the “Welcome” application:
Then, let’s start the installer.
I choose the “Online” method because I want to install GNOME instead of Xfce.
I always prefer to install any operating systems in English, so I select “American English”:
The location has been found successfully, and while the language is the one I chose, it proposes to use my Italian locale for dates and numbers:
After setting the keyboard layout, I select the GNOME desktop:
And then, I can select the single packages. Since you choose the packages after selecting the desktop, a few packages, in particular, the ones of the chosen desktop, have already been selected:
Then, I typically unselect “xf86-video-intel”, which is known to give a few problems:
And I select all the packages concerning “Printing Support” (including “HP”) and also the “LTS kernel in addition” (because if anything goes wrong with the latest kernel, I can switch to the LTS one).
Now there’s a big novelty: you can select the bootloader. The default is “systemd-boot”, but I prefer to stay with GRUB (since I know it works for my use cases like booting Timeshift snapshots and booting other distros):
It’s time for partitioning. Since I have another (EndeavourOS) Linux installation and Windows on this computer, I choose Manual partitioning:
First, I specify to mount the existing EFI partition (into “/boot/efi”) without formatting it and ensure the “boot” flag is selected. This way, the installer can properly install GRUB.
Then, I select the (existing) partition I’m going to replace with this installation; I specify to format it as BTRFS and mount it as the root partition:
There’s also an existing EXT4 partition that I use to share common data among my Linux installations, so I select that (without formatting it) and specify my desired mount point:
That’s the final layout of the primary SSD disk:
I also have another HD on this computer with some existing partitions I want to access from the installed system. So I select this other disk from the top drop-down list, and I specify the final mount points:
As usual, there’s the “Users” section, which I will not detail.
Finally, we can have a look at the summary, which looks good to me:
OK, let’s start the installation!
The installation went fine, and it took about 5 minutes. This is an old computer (6 years old), so it was pretty fast.
First impressions
Here we are in the installed system!
As usual, the GRUB menu is beautifully pink and purple:
And here’s GNOME:
You see that these are not the standard GNOME icons. In fact, EndeavourOS provides GNOME with the “Qogir” icons, which look great to me:
Besides that, I seem to understand that’s vanilla GNOME (it does not have “minimize” and “maximize” buttons enabled by default). It’s good that “GNOME Tweaks” is already installed. However, there’s no GNOME extension installed (the first one I installed was “AppIndicator and KStatusNotifierItem Support”). The terminal is the new “GNOME Console”, which I’ll soon replace with the old “GNOME Terminal” (I prefer that one). Standard GNOME applications like “Calendar” and “Contacts” are not installed either. At least, we have the new GNOME Text editor, which replaces the (IMHO) unusable “Gedit”.
There are no standard GNOME wallpapers, just the EndeavourOS one. Of course, you can install other wallpapers using the “Welcome” app. However, I’ll switch to Variety soon.
The Wayland session is enabled by default. It’s OK to me because GNOME and Wayland are usable nowadays.
The BTRFS subvolumes were created as expected, that is, with a separate “@home” and separate subvolumes for “/var/log” and “/var/cache”. Unfortunately, we also have nested subvolumes for “/var/lib/machines” and “portables”, which are known to give headaches if you restore a Timeshift snapshot:
1 2 3 4 5 6 |
ID 256 gen 137 top level 5 path @ ID 257 gen 137 top level 5 path @home ID 258 gen 100 top level 5 path @cache ID 259 gen 137 top level 5 path @log ID 260 gen 27 top level 256 path var/lib/portables ID 261 gen 28 top level 256 path var/lib/machines |
Thus, since I’m not planning to use them, I removed them (this will make the two nested subvolumes disappear), and I recreated them as standard directories (I seem to understand that those two directories must exist; otherwise systemd will recreate them anyway):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ sudo rmdir /var/lib/portables $ sudo rmdir /var/lib/machines $ sudo btrfs su li / ID 256 gen 167 top level 5 path @ ID 257 gen 167 top level 5 path @home ID 258 gen 100 top level 5 path @cache ID 259 gen 167 top level 5 path @log $ sudo mkdir /var/lib/portables $ sudo mkdir /var/lib/machines $ sudo btrfs su li / ID 256 gen 167 top level 5 path @ ID 257 gen 167 top level 5 path @home ID 258 gen 100 top level 5 path @cache ID 259 gen 167 top level 5 path @log |
So it’s time to start installing my applications and tweak a few GNOME settings.
In particular, since I have both the “linux” and “linux-lts” kernel, the GRUB configuration sets the LTS version as the default. To change that, I edit “/etc/default/grub” and specify
1 |
GRUB_TOP_LEVEL="/boot/vmlinuz-linux" |
And regenerate the GRUB configuration:
1 |
sudo grub-mkconfig -o /boot/grub/grub.cfg |
Concerning KDE
I have also tried EndeavourOS KDE on a virtual machine. With Cassini, you get a new custom (and beautiful) Plasma theme, dark and purple (as usual in EndeavourOS).
To summarize
To summarize, EndeavourOS once again proved to be a fantastic Arch-based Linux distribution:
- Easy to install
- Arch-based (e.g., not like Manjaro)
- not bloated with too much software
- close to the vanilla DEs (at least for the ones I tried, GNOME and KDE)
- with a wonderful and warm community, by the way 🙂
Happy new Linux year! 🙂
Hello Lorenzo,
To test absm (a BTRFS snpshots manager) I tried in on several distributions beyond Slint that I maintain: Ubuntu 22.04 and several Arch derivatives Garuda (I don’t like it, but still…), Manjaro (so-so) and Endeavour (the best of those indeed).
I just let the installer take over the whole disk (in a Qemu VM), choosing of course GRUB and btrfs. So far, so good. I installed magic-wormhole to transfer the script from the host to the VM, w3m (recommended but not mandatory) et voilà: I could create and delete snapshots, boot off snapshots (no need of an external tool to include boot entries for snapshots in the GRUB menu) and restore them. Maybe you you will want to try absm? It iss now publicly available: https://github.com/DidierSpaier/absm
Cheers,
Didier
Pingback: Installing Endeavour OS Cassini 22-12 on a Microsoft Surface Book 1st Gen. – Edward Colin Smith
Pingback: Installing Endeavour OS Cassini 22-12 on a 1st generation Microsoft Surface Book – Edward Colin Smith
Pingback: Installing Endeavour OS Cassini 22-12 (Arch Linux) on a 1st generation Microsoft Surface Book – Edward Colin Smith
Pingback: KVM Virtual Machine Manager and Virtual Machines on external drives | Lorenzo Bettini