## Introductory Spiel
I'm dual booting. Again. Yes i know stop roasting me. I kept the windows partition the device starts with, and want to add a UNIX partition of *some sort*. I've used Arch, Debian, freeBSD and openBSD in my days.
Honestly my favorite was freeBSD for the following reasons,
- Built in ZFS support. (i just think it's neat)
- It had drivers for my wifi nic that Arch didn't at the time.
- I like their init system with `rc.conf` better than systemd.
- I like how `doas` is configured, reminiscent of `pf`.
However, the one I've used the MOST is Arch. It taught me a lot about using UNIX and the like systems and is why I'm as comfortable in a CLI as I am.
However however, I'm nearing my 30's and I'm not in school anymore and I kind of want my laptop to Just Work (ironic considering the following shenanigans) because I have other projects to get to.
I initially set this dual boot up with an Arch install in my usual fashion, a USB key that holds a LUKS decryption key, as well as the volume referenced by pamusb to hold the pads for user auth (aren't I so cool), and launch I3 with startx from my `.zshrc`
It felt stale. I've grown as a person and wan't something else.
So I wrote my own TODO [GRUB](grub.html) theme!
then I set up a ZFS arch install and got ALL the way to trying to get grub to decrypt the root partition only to THEN read that grub was not able to handle a natively encrypted root ZFS partition.
I tried 2 different live USB's to see if I had freebsd hardware support and when it didn't work right away and saw some posts indicating it wont I dropped it along with my dreams of a perfect system.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276379
So the girl I was seeing at the time kept pushing me on just using Debian with little sly jokes at every hiccup. oy vey.
I have this problem where every use-case I envision is too edge-case to be practical.
my IDEAL system is an encrypted ZFS on root freeBSD install with a removable boot drive running on a macbook air with that sweet sweet all-day-battery apple silicon, with a big server at home to stream games from. (I only really use laptops, my desk just has a docking station.)
but alas, freeBSD doesnt support apple silicon. openBSD does but it doesn't support ZFS.
In lieu of freeBSD supporting my hardware, I opt for linux, and go with Debian (because a girl told me to lol), but also because I found THIS.
https://docs.zfsbootmenu.org/en/v2.2.x/guides/debian/bookworm-uefi.html#zfs-pool-creation
Because I REALLY, for admittedly No Good Reason, want to use ZFS. (listen I just think it's neat)
However It doesn't use GRUB so I cannot use my theme, and somehow (we will get into this) ZFSbootmenu does NOT support reading a decryption key from a USB drive at boot.
However however however, Debian also uses a different initramfs tool than Arch so I cannot use the tools i use to change the tty colors in the frame buffer at boot. Much to my chagrin, but we'll get there.
## Compromises
### Software
freeBSD
- Doesn't support my hardware
- Can't theme my boot screen
openBSD
- Doesn't support ZFS my pet file system
- Can't theme my boot screen
Debian
- Doesn't *support* ZFS but you're reasonably able to use it
- Method to do so means I cannot theme boot
- `initramfs-tools` doesn't support modules made for use with `mkinitcpio` so some of my usual tools don't work
- not BSD
Arch
- Too much config (ironic i know)
- Even LESS able to support ZFS with rolling release
- Inherently a Little Less Stable
- not BSD
### Hardware
- driver support for NVIDIA in Linux is weird and we will have to take measures to prevent the GPU from overheating
- Razer laptops do not support adding keys to TPM
- source: https://wiki.archlinux.org/title/Razer_Blade#Secure_Boot
---
The following are Documents outlining the journey to something workable that I'm sufficiently satisfied with the nicheness of.