Assinando um módulo do kernel compactado para uso com o Secure Boot

1

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?

    
por Mella 20.04.2018 / 16:06

0 respostas