Estou tendo problemas para assinar meu módulo zfs no Fedora 27 usando UEFI / Secure Boot e esperava que alguém aqui pudesse ajudar.
Como uma explicação rápida de como eu normalmente faria isso, eu assino o módulo do VirtualBox usando as chaves que já criei e registrei com o efibootmgr, com o seguinte comando:
# /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./key.priv ./key.der $(modinfo -n vboxdrv)
Funciona muito bem, porque o vboxdrv existe como um módulo comum do kernel, e eu faço o mesmo com sucesso para cada atualização do kernel, e o processo é genérico o suficiente para que eu possa fazer o mesmo com o zfs. Mas tentar fazer isso falha. Verificando # modinfo -n zfs
, vejo que o módulo do kernel zfs parece existir como um arquivo compactado - /lib/modules/4.15.17-300.fc27.x86_64/extra/zfs.ko.xz
(e essa é a versão correta do kernel atual).
Para ver se talvez exista outro módulo que existe, execute # find / -name zfs.ko
que não retorna nada, então esse arquivo .xz é o único módulo do zfs disponível. Tudo bem, então eu corro # xz --decompress zfs.ko.xz
. Isso me diz que os dados estão corrompidos (o utilitário xz é o que retorna esse erro, sugerindo que não é um arquivo xz-compactado, ou pelo menos está modificado de alguma forma ou não pode ser tratado pelo xz embutido) .
# modinfo zfs
apenas retorna o caminho para zfs.ko.xz e um erro modinfo.
Então eu estou perdido neste momento. Desativar a inicialização segura não é realmente uma opção que desejo considerar. Como devo assinar um módulo compactado se não puder descompactar o arquivo primeiro? Ou já está assinado com uma chave disponível para mim em algum lugar para fazer o download que eu devo registrar?
Tags secure-boot zfs fedora