Best way to build a kernel with support for a specific piece of hardware

Hi, I'm currently running 22.03.0 on x86-64, and want to use a USB Bluetooth adapter that uses the RTL8761BU chip. It looks like support is available in the 5.15 kernel, and was recently backported to 5.10.

Any recommendations on how I could go about updating to a kernel that has support for that chip? I don't think I want to install a dev snapshot, so my thought was to build a 5.10 kernel with the driver patches. My current kernel (in 22.03.0) is 5.10.138, it looks like 22.03.2 has 5.10.146, and the 22.03 branch is up to 5.10.154, so I guess I'd need both a new kernel and all the kmods that I'm using?

does it work in the snapshots, they appear to be running 5.15 ?

I don't know, I haven't tried a snapshot because I'm worried they won't be stable enough.

The chip needs a firmware file to be loaded though, and looking through the dev snapshot packages (kmod-bluetooth and the kmods with "firmware" in the name), I don't see the firmware. So it may not work out of the box, but if the only problem is a missing firmware file, that's easy to fix.

boot it from a flash drive, test, reboot ?
then you'll at least know, but I could imagine it being pretty stable on x86.

OK, I put the snapshot on a flash drive, and as I suspected, it's missing the firmware file, but after downloading it, it seems to work.

But I've used a snapshot in the past (I needed UEFI boot, which was only in a snapshot at the time), and ran into the problem mentioned on this page: "snapshots are built daily, and that sets time limits to installing new packages with opkg", which caused me some trouble. Also, it's difficult to judge stability with a quick test of the base system without any of the other packages that I use.

And I guess this is a subject for another thread, but upgrading is difficult since I've expanded my root partition size from the default 128MB to 512MB. If I use sysupgrade, it says "Partition layout has changed. Full image will be written" and I'll have to redo my changes. It just seems like it'd be easier if I could simply install a new kernel and leave everything else the same.

Could do something like this