Чтобы проверить, предоставлен ли аргумент, вы должны посмотреть значение$#
(количество аргументов):
#! /bin/sh -
if [ "$#" -ge 1 ]; then
ENVIRONMENT_NAME=$1
else
IFS= read -r ENVIRONMENT_NAME || exit # on EOF
fi
if [ "$#" -ge 2 ]; then
EMAIL=$2
else
IFS= read -r EMAIL || exit # on EOF
fi
Образ initramfs обычно специфичен для конкретной версии ядра, поскольку он содержит только модули ядра для этого ядра.
Таким образом, если ваш дистрибутив автоматически представит все установленные ядра в загрузочном меню GRUB (, большинство дистрибутивов делают это по умолчанию ), просто установите свои ядра и драйверы для них.
Если вы используете dkms
для управления сторонними -модулями (, даже в бинарном установщике NVIDIA есть опция --dkms
), вы можете добавить некоторые пользовательские файлы конфигурации в /etc/dkms/
, чтобы ограничить конкретных версий модулей драйверов NVIDIA для конкретных версий ядра :это не является строго обязательным, но, вероятно, поможет удержать dkms
от попыток автоматического -пересобрать старую версию драйвера каждый раз, когда вы обновляете последнее ядро.
В зависимости от того, как именно ваш дистрибутив строит для вас меню GRUB по умолчанию, вы можете использовать стандартное меню -или создать пользовательскую запись для ядра специальных рабочих нагрузок (+ его initramfs ), чтобы сделать это более очевидным.
Проблема может возникнуть с библиотеками NVIDIA OpenGL. Пакет исправленных драйверов, как правило, использует более старую версию этих библиотек или зависит от нее, в то время как последний драйвер будет содержать более новый набор библиотек.