Habilite el teclado Bluetooth antes del descifrado de LUKS - Ubuntu 20.04

Habilite el teclado Bluetooth antes del descifrado de LUKS - Ubuntu 20.04

Necesito que mi teclado Bluetooth Keychron K8 funcione para escribir mi contraseña de descifrado del disco LUKS en el momento del arranque.

Por el momento, sólo puedo usar el teclado del portátil porque la pila Bluetooth aún no está habilitada.

Encontré (pero aún no lo intenté) la manera de habilitar el módulo eninitramfstiempo, pero no estoy seguro de cómo se relaciona con el servicio Systemd Bluetooth.

¿Alguien con el mismo problema ha encontrado una solución?

Gracias,
Igor

Respuesta1

Prueba con:

  1. Actualizar initramfs: actualice su imagen de initramfs para incluir los componentes Bluetooth necesarios. Puedes hacer esto con el siguiente comando:

    sudo update-initramfs -u

  2. Edite la línea de comando de su kernel: edite la línea de comando de su kernel para incluir las siguientes opciones:

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

  3. Cree el script btdecryption: cree un nuevo archivo llamado "btdecryption" en el directorio "/usr/share/initramfs-tools/scripts/local-top" y agregue el siguiente contenido:

# 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. Haga ejecutable el script: Haga ejecutable el script "btdecryption" con el siguiente comando:

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

  2. Actualice initramfs nuevamente: actualice su imagen de initramfs nuevamente para incluir el nuevo script:

    sudo update-initramfs -u

información relacionada