在 LUKS 解密之前啟用藍牙鍵盤 - Ubuntu 20.04

在 LUKS 解密之前啟用藍牙鍵盤 - Ubuntu 20.04

我需要讓我的 Keychron K8 藍牙鍵盤正常工作來寫入我的啟動時 LUKS 磁碟解密密碼。

目前,我只能使用筆記型電腦鍵盤,因為藍牙堆疊尚未啟用。

我找到了(但尚未嘗試)啟用該模組的方法初始化檔案系統時間,但我不確定它與 Systemd 藍牙服務有何關係。

有遇到相同問題的人有解決方案嗎?

謝謝你,
伊戈爾

答案1

嘗試使用:

  1. 更新 initramfs:更新 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

相關內容