Как использовать драйверы kmod-nvidia для начальной загрузки

Нет такой вещи, как нагрузка на центральный процессор.

Средняя загрузка определяется как количество процессов, ожидающих системных ресурсов. Это не обязательно процессор. Также, так как процесс может ожидать процессорного времени и не работает активно на центральном процессоре, вы не можете приписать его какому-либо конкретному процессору, так как процесс может закончиться на любом процессоре (если только он не подключен).

Однако вы можете получить коэффициент использования % на один процессор. Используйте /proc/stat и используйте 4-е поле каждого процессора, чтобы определить, насколько простаивает этот процессор (см. man 5 proc и раздел /proc/stat).
В основном читаем значение, спим 1 секунду, читаем значение еще раз, делим разницу на USER_HZ.

1
05.03.2015, 16:07
1 ответ

Вот как я получил программное обеспечение kmod -nvidia от rpmfusion nonfree, работающее с Fedora 26 на машине, сконфигурированной для «безопасной загрузки» / UEFI. Я получал сообщение об ошибке «необходимый ключ недоступен» при запуске modprobe для модулей ядра nvidia.

Можно и не слишком сложно оставить включенной безопасную загрузку UEFI и запустить проприетарный драйвер nvidia.

  • После установки свободных и несвободных репозиториев rpmfusion установите kmod -nvidia:dnf install kmod-nvidia
  • Создайте самозаверяющий сертификат и ключ, выполнив конфигурацию openssl и выполнив следующие действия:

    cd /root #or somewhere reasonably safe
    cat > mokutil-openssl.conf << XYZZY
    [ req ]
    default_bits = 4096
    distinguished_name = req_distinguished_name
    string_mask = utf8only
    x509_extensions = exts
    prompt = no
    
    [ req_distinguished_name ]
    O = username
    CN = username
    emailAddress = username@example.com
    
    [ exts ]
    basicConstraints=critical,CA:FALSE
    keyUsage=digitalSignature
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid
    XYZZY
    
    # create the certificate & key
    openssl req -x509 -new -nodes -utf8 -sha256 -days 7300 -config./mokutil-openssl.conf -outform DER -out mokutil.der -keyout mokutil.key -batch
    # to verify the certificate:
    openssl x509 -inform DER -in./mokutil.der -noout -text |less
    
  • Далее,подпишите новые модули ядра nvidia с помощью предоставленной утилиты:

    cd /lib/modules/$(uname -r)/extra/nvidia
    /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /root/mokutil.key /root/mokutil.der nvidia.ko
    /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /root/mokutil.key /root/mokutil.der nvidia-drm.ko 
    /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /root/mokutil.key /root/mokutil.der nvidia-modeset.ko 
    /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /root/mokutil.key /root/mokutil.der nvidia-uvm.ko 
    
  • Сертификат необходимо добавить в BIOS, чтобы ему можно было доверять:

    # first, we stage the new certificate to be added to the BIOS on 
    # the next reboot.  You will be prompted to enter a password when
    # running the utility; the BIOS will ask for the same password on 
    # reboot.
    mokutil --import./mokutil.der
    
    # This command shows whether or not mokutil was able to stage the
    # new certificate for import into the BIOS.  If the process is 
    # unsuccessful, you may have to enter the BIOS and import the key
    # manually from its interface, perhaps from a USB stick.  If this
    # command returns your certificate, you should reboot.  The BIOS 
    # will prompt you to take action and enter in the password you
    # input in the previous step.
    mokutil -N
    
    # This command shows which certificates are trusted by the BIOS.
    # There will be one installed by the manufacturer and if 
    mokutil --list-enrolled 
    
  • Если все прошло хорошо, ваша машина должна была загрузить новые модули. Вы можете проверить с помощьюlsmod |grep nvidia

  • При установке нового ядра вам придется заново подписывать модули.

Я нашел большую часть этой информации здесь , но утилиту подписи не нужно вызывать с perl. Я также подписал все четыре модуля, выводимые процессом сборки kmod -nvidia.

2
27.01.2020, 23:51

Теги

Похожие вопросы