anatol / booster

Fast and secure initramfs generator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bluetooth support like mkinitcpio-bluetooth

Eyenseo opened this issue · comments

This is more of a how to do than a this is broken.

I'm currently using mkinitcpio with mkinitcpio-bluetooth. And I'm wondering how I would go about to do that with booster?

The use case for bluetooth this early in the boot process is a bluetooth keyboard needed to unlock luks.

Getting bluetooth working with booster sounds like a useful idea.

I see that the mkinitcpio-bluetooth depends on dbus/systemd. It is quite a big dependency to pull into initramfs and this solution is not portable to other distros.

Is there any way to enable bluetooth keyboard simpler and easier way (i.e. without systemd dependency)?

@anatol I'm not sure, I would assume that there has to be an easier/slimmer way. We don't need to pair devices, we "only" want to connect to known devices and use them. How that translates to bluetooth is beyond me.

[some googling later]

dracutdevs/dracut#1139 seems to indicate that you need systemd and dbus?!

dracutdevs/dracut#1139 seems to indicate that you need systemd and dbus?!

That's because they use bluetoothd that requires systemd/dbus. Are there any other equivalents of bluetoothd?

I found [1], but what I read in [2] I understand that using something else then bluez might not be a good idea. But that one could use

most of the protocols without D-Bus, in fact that what we did in BlueZ for Android

And I assume that systemd is pulled in as dependency only for dbus as bluez doesn't list systemd as dependency itself. Other stacks can be found on wikipedia [3]

[1] https://github.com/bluekitchen/btstack
[2] https://www.spinics.net/lists/linux-bluetooth/msg65545.html
[3] https://en.wikipedia.org/wiki/Bluetooth_stack

As the maintainer of mkinitcpio-bluetooth I am quite happy you are looking into this.
The d-bus requirement is there because without it, during boot it may look like bluetooth was started correctly (i.e. I don't recall any error messages), but keyboards won't actually connect to the machine (as a symptom). I am far from being an expert in bluetooth nor d-bus technology, but from what I gathered d-bus serves as a transportation layer so the "system" and the "keyboard" actually exchange data, causing devices to connect.
Please do let me know if you find a way to ditch the dbus / systemd requirement, as my package will benefit from that as well.