Включить Bluetooth-клавиатуру перед расшифровкой LUKS - Ubuntu 20.04

Включить Bluetooth-клавиатуру перед расшифровкой LUKS - Ubuntu 20.04

Мне нужно, чтобы моя клавиатура Bluetooth Keychron K8 работала, чтобы записать пароль дешифрования диска LUKS во время загрузки.

На данный момент я могу использовать только клавиатуру ноутбука, поскольку Bluetooth-стек еще не включен.

Я нашел (но пока не пробовал) способ включить модульinitramfsвремя, но я не уверен, как это связано с Systemd Bluetooth Service.

Есть ли у кого-нибудь решение такой же проблемы?

Спасибо,
Игорь.

решение1

Попробуйте с:

  1. Обновление initramfs: Обновите образ initramfs, чтобы включить необходимые компоненты Bluetooth. Это можно сделать с помощью следующей команды:

    sudo update-initramfs -u

  2. Отредактируйте командную строку ядра: Отредактируйте командную строку ядра, включив в нее следующие параметры:

    rd.luks.options=luks,keyscript=/usr/share/initramfs-tools/scripts/local-top/btdecryption

  3. Создайте скрипт btdecryption: Создайте новый файл с именем «btdecryption» в каталоге «/usr/share/initramfs-tools/scripts/local-top» и добавьте следующее содержимое:

# Wait for Bluetooth keyboard to connect
echo "Waiting for keyboard to connect..."
until hcitool con | grep -q "Keyboard Address"; do
    sleep 1
done
echo "Keyboard connected."

# Get password from keyboard
echo "Enter password:"
password=""
while [ ${#password} -lt 1 ]; do
    read -s -n 1 char
    if [ "$char" == "" ]; then
        echo ""
        break
    fi
    password="$password$char"
    echo -n "*"
done

# Pass password to LUKS
echo $password
  1. Сделайте скрипт исполняемым: Сделайте скрипт «btdecryption» исполняемым с помощью следующей команды:

    sudo chmod +x /usr/share/initramfs-tools/scripts/local-top/btdecryption

  2. Обновите initramfs еще раз: Обновите образ initramfs еще раз, чтобы включить новый скрипт:

    sudo update-initramfs -u

Связанный контент