diff --git a/changelog/changes/2026-08-09-bluetooth-support.md b/changelog/changes/2026-08-09-bluetooth-support.md new file mode 100644 index 00000000000..4177de4345d --- /dev/null +++ b/changelog/changes/2026-08-09-bluetooth-support.md @@ -0,0 +1 @@ +- Enabled the Bluetooth subsystem (BR/EDR and LE) in the kernel, together with the USB, UART, virtio and vhci HCI transports. All of it builds as modules, so it is only loaded when Bluetooth hardware is present or the modules are loaded explicitly. Userspace (BlueZ) is not part of the image and can be added with the [bluez sysext](https://github.com/flatcar/sysext-bakery/pull/253) ([scripts#4197](https://github.com/flatcar/scripts/pull/4197)) diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-99999999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-99999999.ebuild index d2e4a935e75..5e2fa181054 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-99999999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-firmware/coreos-firmware-99999999.ebuild @@ -157,6 +157,28 @@ src_prepare() { amdgpu/aldebaran_cap.bin amdgpu/gc_11_0_0_toc.bin amdgpu/gc_11_0_3_mes.bin + # btrtl declares MODULE_FIRMWARE for Realtek chips whose firmware or + # config blobs are not shipped by linux-firmware (they are either + # vendor-supplied or optional, and the driver copes with their absence). + rtl_bt/rtl8723b_config.bin + rtl_bt/rtl8723cs_cg_config.bin + rtl_bt/rtl8723cs_cg_fw.bin + rtl_bt/rtl8723cs_vf_config.bin + rtl_bt/rtl8723cs_vf_fw.bin + rtl_bt/rtl8723d_config.bin + rtl_bt/rtl8723ds_config.bin + rtl_bt/rtl8723ds_fw.bin + rtl_bt/rtl8761a_config.bin + rtl_bt/rtl8821a_config.bin + rtl_bt/rtl8821cs_config.bin + rtl_bt/rtl8822cu_config.bin + rtl_bt/rtl8851bu_config.bin + rtl_bt/rtl8852au_config.bin + rtl_bt/rtl8852bs_config.bin + rtl_bt/rtl8852bs_fw.bin + rtl_bt/rtl8852btu_config.bin + rtl_bt/rtl8852bu_config.bin + rtl_bt/rtl8852cu_config.bin ) # Fail if any firmware is missing. diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.12 b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.12 index 31410d16d3d..ba2a4405301 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.12 +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/amd64_defconfig-6.12 @@ -25,6 +25,7 @@ CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256_SSSE3=m CONFIG_DCDBAS=m CONFIG_DEBUG_BOOT_PARAMS=y +# CONFIG_DELL_RBTN is not set CONFIG_DELL_RBU=m CONFIG_DEVICE_PRIVATE=y CONFIG_DMABUF_MOVE_NOTIFY=y diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/commonconfig-6.12 b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/commonconfig-6.12 index a97b740cbe4..3739fc879f0 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/commonconfig-6.12 +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/files/commonconfig-6.12 @@ -80,8 +80,38 @@ CONFIG_BROADCOM_PHY=m CONFIG_BSD_DISKLABEL=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BT=m CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_BT_AOSPEXT=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_BREDR=y +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y +CONFIG_BT_HCIBTUSB_BCM=y +CONFIG_BT_HCIBTUSB_MTK=y +CONFIG_BT_HCIBTUSB_POLL_SYNC=y +CONFIG_BT_HCIBTUSB_RTL=y +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_3WIRE=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_INTEL=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_RTL=y +CONFIG_BT_HCIUART_SERDEV=y +CONFIG_BT_HCIVHCI=m +CONFIG_BT_HIDP=m +CONFIG_BT_LE=y +CONFIG_BT_LE_L2CAP_ECRED=y +CONFIG_BT_MSFTEXT=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_VIRTIO=m CONFIG_CACHEFILES=m CONFIG_CEPH_FS=m CONFIG_CEPH_FSCACHE=y @@ -847,6 +877,7 @@ CONFIG_RDS_TCP=m CONFIG_REALTEK_PHY=m CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_RFKILL=m # CONFIG_RPCSEC_GSS_KRB5 requires some older crypto modules CONFIG_RPCSEC_GSS_KRB5=m CONFIG_RTC_CLASS=y @@ -912,6 +943,8 @@ CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIO_SERPORT is not set CONFIG_SFC=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y