efivar
A versão 0.23 precisa de um patch para funcionar com cabeçalhos de kernel a partir de 4.4 (e kernels posteriores), porque o cabeçalho define NVME_IOCTL_ID
alterado (foi renomeado de nvme.h
para nvme_ioctl.h
).
Para criar efivar
em seu sistema, você precisará da "Alternativa para renomear linux / nvme.h" patch. Para aplicar isso, vá para o diretório que contém o código-fonte efivar
(com a fonte 0.23 e nenhuma alteração) e execute
curl https://github.com/rhinstaller/efivar/commit/3a0ae7189fe96355d64dc2daf91cf85282773c66.patch | patch -p1
Então você deve ser capaz de construir efivar
corretamente com cabeçalhos do kernel 4.4.
Já que você tem um arquivo de cabeçalho nvme.h
, provavelmente ainda terá problemas com NVME_IOCTL_ID
neste momento. Você pode aplicar outro patch que evite usá-lo completamente, "libefiboot: reprojetar o NVME, de modo que tenhamos a EUI correta e não precisemos de cabeçalhos de kernel " (este patch requer o anterior):
curl https://github.com/rhinstaller/efivar/commit/8910f45c27fadba0904f707e7c40ad80bf828f7e.patch | patch -p1
Com esses dois patches, você pode criar efivar
, independentemente de onde (e se) os cabeçalhos do kernel definem NVME_IOCTL_ID
.