Secure Boot, Bumblebee e Fedora - como?

1

Eu sou um usuário feliz do Fedora 19 e tenho ele instalado em um laptop Samsung Series 5, que tem uma placa de vídeo off-board da NVidia - especificamente uma GeForce GT 630M. Consegui instalar o Fedora com sucesso e dual boot com o Windows 8 (não via GRUB, mas isso por outro momento) e instalei o Bumblebee, já que os drivers Nouveau fazem com que o laptop fique realmente quente e não forneça um bom gerenciamento de energia. / p>

No entanto, não consigo carregar os drivers da NVidia compilados pela Bumblebee - e descobri que isso acontece por causa da inicialização segura ativada! Como não sei que tipo de problema pode surgir da desativação do Secure Boot, eis a minha pergunta: existe uma maneira de fazer com que os drivers proprietários da NVidia sejam carregados corretamente via Bumblebee sem desabilitar o Secure Boot?

Estou procurando algum tipo de assinatura que possa fazer com que esses drivers sejam carregados.

    
por Mauren 07.09.2013 / 04:21

3 respostas

2

Somente sob circunstâncias raras, a desativação de problemas de causa de inicialização segura e essas circunstâncias são aquelas em que o malware tenta alterar sua ordem de inicialização. Se a solução mais fácil para o seu problema é desabilitar a inicialização segura, essa é a melhor opção. Hábitos de navegação cuidadosos e software antivírus no Windows, combinados com o uso do Fedora como sistema operacional primário ou secundário, fará com que seja altamente improvável que você receba malwares cuja inicialização segura pararia.

    
por 07.09.2013 / 04:36
1

Sim, agora você pode. A versão atual do bumblebee inclui um novo arquivo de configuração chamado bumblebee-nvidia-sign.conf , onde você pode definir suas chaves de assinatura.

  • Pesquise "Como assinar módulos de kernel para inicialização segura" para saber como criar suas chaves, como importá-las para o banco de dados de chaves de inicialização segura da UEFI e como assinar drivers com elas.
  • Para bbswitch , você precisa assiná-los manualmente. Mas isso é muito fácil, basta criar um script em /etc/kernel/postinst.d/ com a seguinte linha:

perl /usr/src/kernels/$KVER/scripts/sign-file sha256 $KEYPATH/private_key.priv $KEYPATH/public_key.der /usr/lib/modules/$1/extra/bbswitch.ko

E o seu sistema executará esse script após cada nova instalação do kernel. Então, dkms irá compilar o driver para o novo kernel e este script irá cantá-lo.

    
por 22.10.2015 / 06:45
0

O Bumblebee agora lida com a assinatura do driver sozinho. No fedora 26 (deve ser o mesmo em outras versões) o procedimento completo é:

Instalar as dependências necessárias dnf install openssl kernel-devel perl mokutil keyutils

Crie e crie um cd em um diretório restrito, como /root/.kernel-keys

Nesse diretório, crie o arquivo keyconf.config e cole o seguinte conteúdo:

[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts

[ req_distinguished_name ]
CN = Modules

[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid

Execute o comando para gerar a chave:

openssl req -x509 -new -nodes -utf8 -sha256 -days 36500  -batch -config configuration_file.config -outform DER -out public_key.der -keyout private_key.priv

Solicite a adição de sua chave ao EFI

mokutil --import public_key.der

Digite duas vezes a mesma senha. Você precisará disso apenas para o próximo passo.

Reinicie o seu PC. Uma tela azul (ou estranha) será exibida, dependendo do seu computador. Eu escolhi a segunda opção, selecionei a "chave 0" e digitei a senha. A ideia é fazer com que sua EFI aceite a chave solicitada. Seu PC irá reiniciar.

Inicialize no Fedora e edite o arquivo /etc/bumblebee/bumblebee-nvidia-sign.conf . Defina a chave criada nas etapas anteriores:

## Public and private keys to sing the drivers for systems with secure boot (full path)
## Note: the created public key must be imported into the UEFI.
Publickey=/root/.kernel-keys/public_key.der
Privatekey=/root/.kernel-keys/private_key.priv

Inicie a instalação do bumblebee ou execute bumblebee-nvidia --debug para criar o driver usando as chaves. Deve funcionar. Espero que tenha ajudado!

Usado para referência: link

Obrigado à resposta do Fahad que me ajudou muito.

    
por 31.07.2017 / 00:06