Bluetooth Keyboard in Stage 1

ATM, there is no Bluetooth support in Stage 1. To unlock a LUKS encrypted HD for Booting, one has to attach a keyboard the traditional way, e.g. via PS/2, USB, proprietary Dongle…
So, what I’m looking for is some config.boot.initrd setting that adds the required modules, sets up the service to load before the LUKS prompt appears and also accepts some Bluetooth pairing info to copy into the initrd.

Alas, such mundane tasks are way beyond my current Nix skill level, but I’m open to team up with someone to tackle this after 22.05 has landed.

For reference: This seems to be all that was needed to implement this for Dracut:

Having someone sniff the password from the Bluetooth connection is outside my thread model (at least for the machines, where I want this to work ;))


This seems like it falls well within the recently added systemd-based init. It might even be in the task list for that already.

What exactly are you looking for in terms of someone to team up with? Was adding this to the learning category intentional?

This does sound like fun, I’ve been meaning to find something to actually help with upstream, especially around the init because I want to understand it better. But then as always and like every programmer I feel like I lack time in the near term…

Yes, adding to the learning category was intentional as I thought it is the most fitting one.
About teaming up: I’m willing to test and probably can experiment with smaller changes (e.g. getting in the Bluetooth pairing info) by myself, but I need someone else to put in the basic stuff first.