Я хотів би запитати, чи можна було завантажити ключ в моєму дистрибутиві для постійного збереження, щоб пропустити Secure Boot без відключення? Я вважаю, що відповідь, ймовірно, ні, але мені хотілося просити.
Я хотів би запитати, чи можна було завантажити ключ в моєму дистрибутиві для постійного збереження, щоб пропустити Secure Boot без відключення? Я вважаю, що відповідь, ймовірно, ні, але мені хотілося просити.
Відповіді:
Ви не сказали, що ви хочете ключ, але на Ubuntu я роблю це періодично, щоб підписати драйвери вручну. Мій драйвер BroadCom WiFi є стороннім і непідписаним, і я використовую наступний сценарій кожного разу, коли встановлюється нове ядро: -
#!/bin/bash
if [ "$(whoami)" != "root" ]
then echo "wlsign: must be called from 'root'"
elif [ -z "$1" -o "$1" == "-c" ]
then
[ "$1" == "-c" ] && \
openssl req -new -x509 -newkey rsa:2048 -keyout wl.priv -outform DER -out wl.der -nodes -days 36500 -subj "/CN=BroadCom/"
/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./wl.priv ./wl.der $(modinfo -n wl)
[ "$1" == "-c" ] && mokutil --import wl.der
[ "$1" == "-c" ] && echo Now reboot and select MOK install || modprobe wl
else
[ "$1" != "-h" ] && echo "wlsign: invalid options - $@"
echo 'wlsign [-c|-h] : signs proprietary Wireless kernel drivers'
echo ' -c : create new keys (default: use existing)'
echo ' -h : give this help information'
fi
Мені потрібен -c
лише один раз, щоб створити ключові файли спочатку. Після використання -c
систему необхідно перезавантажити, а новий ключ прийняти в прошивку UEFI.
У мене є аналогічні сценарії для інших непідписаних драйверів, особливо драйверів VMware, які компілюються на льоту, тому їх не можна підписати.
Оскільки Kali і Ubuntu є похідними Debian, я сподіваюся, що структури системного каталогу подібні. Зверніть увагу, що sign-file
програма встановлюється в заголовки ядра, так linux-headers-*
потрібно встановити для вашого ядра. Є kmodsign
програми в /usr/bin/
, що може бути альтернативою, але я не пробував.
Я не пам'ятаю, де я знайшов цю інформацію, тому не можу визнати її джерело.
mokutil
додає дані до завантажувального коду UEFI, це має сенс, що ви повинні завантажуватися в режимі UEFI, оскільки безпечний завантаження недоступний у попередньому режимі. Чому ви використовуєте живу завантаження? Ця вимога звичайно стосується встановленої системи; інакше, де ви зберігаєте ключові файли? Якщо ви створюєте живий диск правильно, ви повинні мати можливість завантажуватися в режимі UEFI, що є необхідним для безпечного завантаження.
sbsign
), у цьому випадку вам доведеться імпортувати будь-які клавіші, які ви створюєте, на кожну машину або жити з вимкненням безпечного завантаження. Хоча про ArchLinux, Ця стаття дає розумні уявлення про те, що залучено.