~nabijaczleweli/klapki

ref: 153e01f9006f829b04344e24921f7c409fa093b0 klapki/README.md -rw-r--r-- 3.0 KiB
153e01f9наб Project now uses README from here, link manpage to -man 2 months ago

#klapki builds.sr.ht badge Licence

EFI boot manager; or, well, an EFI bootorder compiler.

#Manpage

#Building

You'll need libssl-dev and libefi{var,boot}-dev, and make should hopefully Just Work™ if you have a C++17-capable compiler.

Note that klapki uses Linux-specific memfd and sendfile() interfaces, and as such building it will fail on other systems. AFAICT libefivar only supports Linux anyway, but these will have to be ported in case it doesn't (patches welcome, &c.).

#Installation

Copy out/klapki to /sbin and write a /etc/klapki/{description,cmdline}, as seen in the manpage,

#From Debian repository

The following line in /etc/apt/sources.list or equivalent:

deb https://debian.nabijaczleweli.xyz stable main

With my PGP key (the two URLs are interchangeable):

wget -O- https://debian.nabijaczleweli.xyz/nabijaczleweli.gpg.key | sudo apt-key add
# or
sudo wget -O/etc/apt/trusted.gpg.d/nabijaczleweli.asc //keybase.io/nabijaczleweli/pgp_keys.asc

Then the usual

sudo apt update
sudo apt install klapki

will work on amd64, x32, and i386.

See the repository README for more information.

#Uninstallation

Remove the variable corresponding to the host under the klapki GUID (a8a9ad3a-f831-11ea-946d-674ccd7415cc).

For example, on Linux, with host "zoot":

chattr -i /sys/firmware/efi/efivars/zoot-a8a9ad3a-f831-11ea-946d-674ccd7415cc
rm        /sys/firmware/efi/efivars/zoot-a8a9ad3a-f831-11ea-946d-674ccd7415cc

This will abandon any previously-managed entries by removing all state, so either run {delkernel ver} for all versions you had registered beforehand, or remove the entries and files later with efibootmgr(8)/EFI shell/the firmware UI.

#Reporting bugs

There's the tracker, but also see the list below.

#Contributing

Send a patch inline, as an attachment, or a git link and a ref to pull from to the list (~nabijaczleweli/klapki@lists.sr.ht) or me directly. I'm not picky, just please include the repo name in the subject prefix.

#Discussion

Please use the tracker, the list, or Twitter.

#Special thanks

To all who support further development on Patreon, in particular:

  • ThePhD
  • Embark Studios