~nabijaczleweli/klapki

963c0aa6a9140e22f326bad7d88cb5f64d574621 — наб 27 days ago 0996052
No buster packages since libfmt-dev is too old there
1 files changed, 6 insertions(+), 6 deletions(-)

M README.md
M README.md => README.md +6 -6
@@ 7,9 7,9 @@ EFI boot manager; or, well, an EFI bootorder [compiler](//twitter.com/nabijaczle

### What?

You need to boot Linux somehow, but running EFI-side code is a tad excessive for that
(plus, GRUB is, hm, [suboptimal](https://nabijaczleweli.xyz/content/blogn_t/005-low-curse-zfs-on-root.html#bootloader) in general,
 and sd-boot isn't versatile enough for my taste and the hook integration is questionable at best).
You need to boot Linux somehow,
but you [don't really need](//git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/admin-guide/efi-stub.rst?h=v5.8)
any EFI-side code to do it if you configure your kernel right and have something tell the firmware about it. This is that something.

klapki stores neither code nor data (well, except the kernel and initrds) on the ESP
(which I think makes it secure-boot-compatible, but I haven't managed to ever use secure boot yet, so)


@@ 17,9 17,9 @@ and instead generates entries for the host's kernels and manages them during the

Because of this, entries for each host can be trivially placed anywhere in the boot order (in the screenshot they're at `{bootpos 1}`, preceded by the "zoot" entry).

As seen in the screenshot, boot variants ("graphical" in that case) are also supported, generating another entry per kernel;
As seen in the screenshot, additional boot variants (just "graphical" in that case) are also supported, generating another entry for each kernel;
OVMF doesn't show it, but the difference can be seen from this listing of `/etc/klapki/cmdline` used to generate those entries;
the [description](//git.sr.ht/~nabijaczleweli/klapki.deb/tree/50de836242adb578bc1bb6c288ddc450c4a4765c/debian/description) is a tad verbose to match convention:
(the [description](//git.sr.ht/~nabijaczleweli/klapki.deb/tree/50de836242adb578bc1bb6c288ddc450c4a4765c/debian/description) is a tad verbose to match convention):
```sh
#!/bin/sh
echo root=ZFS=zoot/root


@@ 42,7 42,7 @@ Copy `out/klapki` to `/sbin` and write a `/etc/klapki/{description,cmdline}`, as

The following line in `/etc/apt/sources.list` or equivalent:
```apt
deb https://debian.nabijaczleweli.xyz stable main
deb https://debian.nabijaczleweli.xyz sid main
```

With [my PGP key](//nabijaczleweli.xyz/pgp.txt) (the two URLs are interchangeable):