Intro (for anyone being interested)
So, here I am, after almost 4 years of Linux on the Desktop I have to switch my Distro. When I first started to migrate away from Windows (which I don’t hate, I loved my highly customized Windows, but privacy was a too big concern for me) the choice was obvious: It had to be a rolling release (me being gamer, be fiddling around constantly, rolling release on Windows looked good, and so on and so on), so I tried Arch. Bricked the installation twice, bricked the system itself within a week trice, well… some of you may know the drill So I looked around and stumbled upon Manjaro. WOHA! Slow rolling release, germany based (privacy, remember…), newbie friendly, active development and community, what’s not to like! Well, 3 years later I can give you quite some answers to this question: Shady sticking to their own rules (treasurer), shady upstream behaviour (this needs no explanation…), totally stupid action regarding some american laws about codecs, stupid changes in package management, and so on and so on. But the thing with the codecs really blew my mind. To such a big degree that I started searching. EndevourOS looked promising. But after trying a bit (don’t try - DO!), reading a lot (important a f) and also trying stuff I am here to jump ship.
There is one “requirement” added to my normal newbie questions, but let’s start with them:
-I read that I have to activate autotrim - still true? Why not activated by default?
-There is no pamac, but pamac CAN be used? I did upgrades with pacman most of the time, but liked pamac for searching and stuff, so more as a catalogue - doable?
-I have several machines in my network which all use Manjaro, so I installed a local mirror - doable for EndevourOS?
-I use KDE with the Manjaro Style Breath Dark - can I adapt this (and all the other style things) directly over to EndevourOS?
-I guess E-OS is not trying to force ZSH on me?
So, these are the most relevant questions, but no serious concerns, these are coming now:
I love ZFS. I use it on all my servers, I use it on all my clients, with the exception of root (screw you, Larry, screw you!). Doable? The most recent topic I found is not really clear to me, I tried to follow it through and it didn’t work for me?
I’d just love to have ZFS on an encrypted mirror on root. Hope this is doable.
So… yeah: Hi! Thanks for reading, and thanks for helping, highly appreciated!
Many EOS users use pamac, it can be installed from the AUR. However, I would warn you that since it targets Manjaro, there are times where it is broken on Arch or won’t build.
Yes. The Arch wiki has an article on creating a local mirror. That being said, unless you have a lot of machines you may actually find a full local mirror uses more bandwidth since you will be mirroring thousands of packages you don’t use.
There are several versions of the Manjaro breath theme in the AUR.
We currently use bash by default but EOS is all about you customizing the system to your needs so there should not be a problem with you switching your default shell to match your preference.
The instructions probably need to be updated for Cassini.
Calamares, our installer, doesn’t support zfs mirroring. The zfs support isn’t sophisticated enough for that. You might consider adding a feature request upstream at Calamares for that.
Sooooo. first of all: Having no ZFS in the installer was a true bummer for me, it made me say “I am going full Arch”. Having said that is easier than done, but I succeeded - kind of. But the ZFS situation is to cumbersome, and I got back to the drawing board. What do I want from ZFS? Inherent robustness due to CoW, easy “Raid” support build in, quick (and I mean QUICK) backups. Suprise surprise, BTRFS fits all my needs.
So, fiddling around with BTRFS. I want to have grub snapshots (because that sounds really sexy), so I need to install Endevour with grub. Is there something similar to systemd boot?
Second: How do I achieve a mirror with BTRFS, if I use Grub with EFI?
You can’t easily do this with systemd-boot because the kernel and boot images are stored outside the btrfs partition. If you want to do this, choose grub in the installer.
The installer doesn’t support that but it is easy to do after the fact. You can install onto a single disk and then add the mirror partition/disk after install. You just add the extra partition to the btrfs volume and then use btrfs balance to convert it to raid 1.
So, I have now an EndevourOS install with everything I want, and two nmvmes build in. On the first nvme I have a vfat partition for uefi, one btrfs for endevour. Second one is empty. I have also an FS with TYPE “rom”.
Two questions: How to proceed? Copying also UEFI? There must be a guide for this somewhere, but I am too dumb to find it. Second: Where does this rom thingy come from? Do I have to double this partition also?
Goal still should be: Boot from the mirror, do stuff on the mirror, and be able to do this even if I remove the first nvme…
Now be careful, young padawan. Using sloppy floppy words like that, even the abbreviation, can and will get you into trubbelz with the EOS bosses and forum police, quicker than you can say “as funny”!
Mirroring UEFI is fairly hard. The UEFI partition is read by your BIOS/firmware. As far as I know, there is no mirrored filesystem that is supported. Further, that partition is modified at times so you can’t do a one-time copy and be done with it. I guess you would need some kind of job that mirrored that partition whenever it changes.
Create a partition that is the same size as the other btrfs partition. Then add that device to your btrfs existing filesystem. Once that is done, run btrfs balance to convert it to raid1.
Well, what to do to achieve the goal “mirroring root, continuing if one device breaks”?
Thank you very much, sir!
Sure, here we go:
sudo lsblk --output NAME,FSTYPE,LABEL,MODE,TYPE
NAME FSTYPE LABEL MODE TYPE
sr0 brw-rw---- rom
nvme0n1 brw-rw---- disk
├─nvme0n1p1 vfat brw-rw---- part
└─nvme0n1p2 btrfs endeavouros brw-rw---- part
nvme0n2 brw-rw---- disk
Btw, I am very thankfull that you take your time enlightening me, highly appreciated!
It depends how extreme you want to be. Your data will be fully replicated so it would just be a matter of chrooting and running reinstall-kernels. If you want/need more reliability than that, you would need to create something to keep your EFI partitions sync’d.
This tool is available in the AUR and is one approach you could take although I have never tried it personally:
So, after some research, a lot of broken Arch installs, some trys with Endevour and even more frustration and headaches I have to say “screw you” to the mirror. The effort is just not worth the outcome.
Which brings me to “Vanilla BTRFS”. Unfortunately - while I was researching - I stumbled over BTRFS assistant (WOHA, neat!) and grub snapshots - I want!
So my new goal is EndevourOS (with some Manjaro magic thanks to AUR, namely breath2, pamac and mhwd, but completely without the shadiness) on BTRFS. With grub snapshots. And Backups via Snapshotting. But one step after the other - first of all I have to think about “partitions”.
Looking at my current setup:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 476,9G 0 disk
└─sda1 8:1 0 476,9G 0 part /data
sdb 8:16 0 14,6T 0 disk
├─sdb1 8:17 0 3,8T 0 part /misc
├─sdb2 8:18 0 3,8T 0 part /stuff
└─sdb3 8:19 0 6,9T 0 part /backup
nvme0n1 259:0 0 1,8T 0 disk
├─nvme0n1p1 259:2 0 500M 0 part /boot/efi
├─nvme0n1p2 259:3 0 1,7T 0 part /home
└─nvme0n1p3 259:4 0 162,1G 0 part /
nvme1n1 259:1 0 1,8T 0 disk
└─nvme1n1p1 259:5 0 1,8T 0 part /virtual
I first have to copy what I got on nvme0n1. My approach would be using calamares and manual partitioning, create EFI (with boot flag on a FAT32 FS, 300/500/1000?MB) and one chunk of BTRFS partition - and then? Plan should be two sub dirs (root mounted at / and home mounted on /home). Can I do something like this in Calamares? Or afterwards with BTRFS assistant?
After this is done I would follow the guide at https://discovery.endeavouros.com/encrypted-installation/btrfs-with-timeshift-snapshots-on-the-grub-menu/2022/02/ - but this guide just uses one filesystem for everything and does not care for “partitions” aka subvolumes? Why is this guide here: https://wiki.archlinux.org/title/Snapper#Suggested_filesystem_layout
focussing so much on filesystem layout? Do I make things still to complicated and should just follow the first guide?
Partitions are not the same as subvolumes. If you create one big partition and mount it as / with a filesystem of type btrfs, the installer will automatically create subvolumes. By default it will create subvolumes for /, /home, /var/log and /var/cache.
In fact, you probably don’t even need to use manual partitioning unless you want to.
Unless you want a wholly separate partition for /home and not a just a separate subvolume. I never install that way because it limits your flexibility but some people prefer it.
If you want to use snapper and btrfs assistant, I would strongly recommend you not follow this layout. Instead just don’t worry about it and let btrfs assistant and snapper handle it for you. It is less work in both the short-term and the long-term.
Well, using a seperate /home partition just felt… natural? I suppose. But do i need it, and more so - do I WANT it? Currently not sure, only pro argument is “I am used to it”. Subvolume was my wish to go due to what BTFS can do to subvolumes with snapshots and stuff. Idea would be to have auto snapshots on often changed Subvolumes to a network nvme drive (10G linespeed), to the ones which have not so frequent changes to a HDD-pool over network. I “could” do that without subvolumes on a seperate partition, but why again would I want that?
Super nice to know that the installer is doing that - I should just have installed BTRFS assistant on my test VM insead of posting in the forums - but the latter is so much more fun.
So my goal should be achievable way easier than expected. I will follow your advice in the last paragraph. I like this place. Thank you, Sir!
So, currently I am quite fond with what I achieved so far (EOS with pamac, breath, mhwd and ofc the glorious KDE), now I am working on btfs-grub. Because this looks like “Scared of Arch? Take THIS!” - which I very much like. I am doing this on servers and VMs like forever (automatic ZFS snapshots), hence my original motivation, me gusta!
I tried to follow the following guide:
but it a bit outdated - is there a newer version of it? Especially this part does not work:
I did a quick search and stumbled over this here: Btrfs Assistant 1.0 is coming, testers needed - #12 by dalto?
which is quite different - things are improving and changing fast, what’s not to love with this, but that is not helpfull with learning…
Just a general observation… It seems to me you’re overthinking this, and by a lot. You want the shiny features without having a use case for them. As a result, there is a good chance you’ll overcomplicate your system, and actually have a tougher time using it, rather than going with a simpler setup and only make it more complicated if and when the need arises.
Thank you for your honest words. You are partly right - and the bigger part, that is. But the thing with the tougher time is: I will test it regularly, as I do with my ZFS-snapshots of my VMs and services, and my hope is to mitigate the risk of overcomplicating stuff a bit.
At the end I like to these things not only because of the outcome, but also for the way to achieve the outcome - the journey is the reward.
I agree and since i use Kde with btrfs on grub and btrfs-assistant with snapper support and btrfsmaintenace. I can only say it is awesome and problem free. I am no expert on btrfs but it works great with this setup. Sometimes i have a hard time understanding linux users wanting to do all these strange things that don’t even make sense to me because in a lot of cases it just isn’t needed.