1

Я счастливый пользователь Fedora 19, и я установил его на ноутбук Samsung Series 5, на котором установлена видеокарта от NVidia, в частности GeForce GT 630M. Мне удалось успешно установить Fedora и выполнить двойную загрузку с Windows 8 (не через GRUB, но на другой момент) и установить Bumblebee, так как драйверы Nouveau заставляют ноутбук сильно нагреваться и не обеспечивают хорошее управление энергопотреблением.

Однако я не могу загрузить драйверы NVidia, скомпилированные Bumblebee, и обнаружил, что это происходит благодаря включенной безопасной загрузке! Поскольку я не знаю, какие проблемы могут возникнуть при отключении Secure Boot, возникает вопрос: есть ли способ заставить загрузочные драйверы NVidia правильно загружаться через Bumblebee без отключения Secure Boot?

Я ищу какую-то подпись, которая может заставить эти драйверы загружаться.

3 ответа3

2

Только в редких случаях отключение безопасной загрузки вызывает проблемы, и именно в этих случаях вредоносные программы пытаются изменить порядок загрузки. Если самое простое решение вашей проблемы - отключение безопасной загрузки, то это лучший вариант. Тщательный просмотр веб-страниц и использование антивирусного программного обеспечения в Windows в сочетании с использованием Fedora в качестве основной или дополнительной ОС вряд ли позволят вам получить вредоносное ПО, которое остановит безопасную загрузку.

1

Да, теперь вы можете. Текущая версия шмеля включает в себя новый файл конфигурации с именем bumblebee-nvidia-sign.conf котором вы можете установить ключи подписи.

  • Выполните поиск "Подписывание модулей ядра для безопасной загрузки", чтобы узнать, как создавать ключи, как импортировать их в базу данных ключей безопасной загрузки UEFI и как подписывать драйверы с ними.
  • Для bbswitch вам необходимо подписать их вручную. Но это очень просто, просто создайте скрипт в /etc/kernel/postinst.d/ со следующей строкой:

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

И ваша система будет запускать этот скрипт после каждой новой установки ядра. Таким образом, dkms скомпилирует драйвер для нового ядра, и этот скрипт споет его.

0

Шмель теперь сам обрабатывает подпись водителя. На fedora 26 (должно быть то же самое на других выпусках) полная процедура:

Установить необходимые зависимости dnf install openssl kernel-devel perl mokutil keyutils

Создайте и перейдите в ограниченный каталог, такой как /root/.kernel-keys

В этом каталоге создайте файл keyconf.config и вставьте следующее содержимое:

[ 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

Выполните команду для генерации ключа:

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

Запросить добавление вашего ключа в EFI

mokutil --import public_key.der

Введите два раза один и тот же пароль. Вам понадобится только для следующего шага.

Перезагрузите компьютер. В зависимости от вашего компьютера будет отображаться синий (или странный) экран. Я выбрал второй вариант, выбрал "ключ 0" и набрал пароль. Идея состоит в том, чтобы заставить ваш EFI принять запрошенный ключ. Ваш компьютер перезагрузится.

Загрузитесь в Fedora, затем отредактируйте файл /etc/bumblebee/bumblebee-nvidia-sign.conf . Установите ключ, созданный в предыдущих шагах:

## 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

Запустите установку bumblebee или запустите bumblebee-nvidia --debug чтобы собрать драйвер с помощью ключей. Он должен работать. Надеюсь, это помогло!

Используется для справки: https://docs.fedoraproject.org/en-US/Fedora/26/html/System_Administrators_Guide/sect-signing-kernel-modules-for-secure-boot.html.

Благодаря ответу Фахада, это мне очень помогло.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .