
我需要讓我的 Keychron K8 藍牙鍵盤正常工作來寫入我的啟動時 LUKS 磁碟解密密碼。
目前,我只能使用筆記型電腦鍵盤,因為藍牙堆疊尚未啟用。
我找到了(但尚未嘗試)啟用該模組的方法初始化檔案系統時間,但我不確定它與 Systemd 藍牙服務有何關係。
有遇到相同問題的人有解決方案嗎?
謝謝你,
伊戈爾
答案1
嘗試使用:
更新 initramfs:更新 initramfs 映像以包含必要的藍牙元件。您可以使用以下命令來執行此操作:
sudo update-initramfs -u
編輯內核命令列:編輯內核命令列以包含以下選項:
rd.luks.options=luks,keyscript=/usr/share/initramfs-tools/scripts/local-top/btdecryption
建立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
使腳本可執行:使用下列指令使「btdecryption」腳本可執行:
sudo chmod +x /usr/share/initramfs-tools/scripts/local-top/btdecryption
再次更新 initramfs:再次更新 initramfs 映像以包含新腳本:
sudo update-initramfs -u