LUKS 復号化の前に Bluetooth キーボードを有効にする - Ubuntu 20.04

LUKS 復号化の前に Bluetooth キーボードを有効にする - Ubuntu 20.04

起動時の LUKS ディスク復号化パスワードを書き込むには、Keychron K8 Bluetooth キーボードを動作させる必要があります。

現時点では、Bluetooth スタックがまだ有効になっていないため、ラップトップのキーボードしか使用できません。

モジュールを有効にする方法を見つけました(まだ試していませんが)。インストール時間はかかりますが、Systemd Bluetooth サービスとどのように関連しているかはわかりません。

同じ問題を抱えている人は解決策を見つけましたか?

ありがとう、
イゴール

答え1

次を試してください:

  1. initramfs を更新します。必要な Bluetooth コンポーネントが含まれるように initramfs イメージを更新します。これは次のコマンドで実行できます。

    sudo update-initramfs -u

  2. カーネル コマンド ラインを編集します。カーネル コマンド ラインを編集して、次のオプションを含めます。

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

  3. btdecryption スクリプトを作成します。「/usr/share/initramfs-tools/scripts/local-top」ディレクトリに「btdecryption」という新しいファイルを作成し、次の内容を追加します。

# 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

関連情報