https://blue-build.org/ logo
Dracut Bluetooth keyboard support
# questions
m
Hello! I just bought myself a brand new bluetooth keyboard, and it works well on fedora, only with one issue; During the LUKS decryption stage, the bluetooth connection is disabled by default and the only way to enable it is via the bluetooth module on dracut However it looks like dracut is supposed to bundle the bluetooth keys into the initramfs but because the initramfs is precreated as part of the bluebuild image, this doesn't happen. Does this mean that I will have to bundle the bluetooth keys of my keyboard to the bluebuild image?
a
message has been deleted
m
Looking at the initramfs of an image that actually does have this working; looks like the bluetooth keys do need to be bundled as part of the initramfs and since bluebuild has the initramfs prebuilt as part of the bootc image, this means that a very hacky method of just bundling the keyboard's keys with every image is needed to make this work Is there any other way to do this? https://cdn.discordapp.com/attachments/1467904653239910532/1467907309694095460/image.png?ex=698216b7&is=6980c537&hm=06cbdda52dc3826659c5569398204ab7e9dfc95570594a217d6567d7ced80bed&
g
I think I found something that might be able to help you
m
hello, i just preenabled the bluetooth dracut module, but thats not the only thing needed dracut on non-immutable os's does actually bundle the bluetooth keys of the keyboard you're using while the initramfs is being built
but the initramfs here is being built with github actions
so it doesn't have access to my keys?
g
I honestly have no idea. This is out of my realm of understanding
m
so the only way is to upload my bluetooth keys and put it as part of the recipe
i wonder if there is a way to do this using github secrets
@gmpinder is there a way to let the scripts module access the environment secrets like the ones we can set from this page? https://cdn.discordapp.com/attachments/1467904653239910532/1467908665955713199/image.png?ex=698217fa&is=6980c67a&hm=a10791d8d6e7ed83a7bc3af654b8bfe62fe547916e3e69c81420aee5c9c1720b&
g
Yes, we have a way to mount secret files and env variables
Let me get you an example
m
then i can just add the bluetooth keys there and its safe
g
The docs are a bit lacking
Well, if the key is private, you don't want that inside your image at all
Cause your image is on a public registry
m
well thats true too
hmmm
well its still better than it just being out on github
its weak
but it being bundled in the image is better than it just being public on github
g
No it's just as bad, I really don't think you should do that
m
hmmmm
g
If you're signing something with the key, thats a different story
m
yeah i think the logic breaks here because initramfs is prebuilt and there is no other way to do it
so i dont think this can be implemented safely at all
dracut devs can't do much about it since initramfs is loaded before disks are mounted and decrypted i think
so they cant just read from there
though
they can do TPM or NVRAM
but its not a problem with bluebuild
its with dracut
which sucks
how can I make this issue marked as unresolvable
answer overflow has no option to
g
Hmmm, yeah I don't see an option for that
I can however tag the thread in Discord as such
m
ok
the only workaround i can think for this issue is to just use automatic TPM disk decryption even though its not as secure for devices with faulTPM
m
the bluetooth service is already installed the initramfs
so it works as expected
the only thing missing is the bluetooth keys for the keyboard to pair
which is not copied over to the initramfs
because its prebuilt from the bluebuild cli
@gmpinder I have a question. is the initramfs mounted read-only during boot and is /boot mounted during the initramfs stage Sorry for bothering but I couldn't find info on this online and i think you know more about linux than I do
g
I'm not sure, but there is the ⁨`rpm-ostree initramfs`⁩ command to perform some operations with it
m
alright thanks
Hello just wanted to point out that this is possible using the rpm-ostree initramfs⁩ command https://www.reddit.com/r/Fedora/comments/1mn98ks/howto_fedora_silverblue_enable_bluetooth/
this can easily be put in a just script and be executed using ujust/blujust
post installation
@User , thanks for all the help
you rock
22 Views