ntp не будет работать на Raspberry Pi только для чтения

Вот как я получил программное обеспечение 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.

3
25.11.2019, 00:07
1 ответ

Ответ Марка Роджера работает, однако я думаю, что лучше переопределять пользователя:

echo -e '[Service]\nPrivateTmp=false' > /etc/systemd/system/ntp.service.d/override.conf

Затем перезагрузитесь или, может быть, systemctl daemon-reloadбудет достаточно.

3
07.09.2021, 22:59

Теги

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