Monorepo for Tangled

nix/spindle: add almalinux10 image master

This adds an AlmaLinux microvm image, in order to be able to run tests on a RHEL-family distro. There are a couple of notable points of divergence from the Alpine image: - The microvm spec enables PCI, because RHEL/AlmaLinux only ships with CONFIG_VIRTIO_MMIO on arm64, and thus the virtio devices won't show up unless they go on PCI instead. - There isn't an easily attainable standalone initramfs suited for microvms; the only standalone one in general is for network booting and is absolutely massive. Thus, the kernel + initramfs are instead pulled from a microvm-focused UKI, which is much more minimalistic and *mostly* covers what we need (except for a few extra virtio drivers that get added a bit later on, pulled from the relevant RPMs). - Since the initramfs already uses systemd, and the rootfs ships it, it's used to boot the remainder of the image, for consistency with the expectations of a typical AL10 setup. - doas is installed w/ the sudo shim. Alpine doesn't really *need* this because apk is marked as setuid, but AL10's default rootfs still ships Python-powered dnf4, and you can't setuid scripts with a hashbang. (This is a bit more useful than just having the package manager be setuid, anyway.) Additionally, I went and added comments for some bits of the setup (in particular the kernel parameters) that weren't immediately clear to me when I was reading through the alpine image definition. For the tests, most of them were copied from Alpine, but the nix test is instead reworked to be generic (since nothing other than naming actually depends on the distro), to avoid too much duplication. The crash log tail size also needs to be bumped to fit in the larger surrounding logs.


Author re:fi.64 Date Commit 072766ea Parent 3fee723c Change ID tpwmyszk
+435 -24
7 changed files