More and more of the bigger distros are dropping builds for 32-bit x86 Linux. Just recently, Debian stopped providing new kernels, along with install media for 32-bit x86.
The good people at Linux-libre are still building 32-bit Linux kernel packages. For desktops and servers they can probably help you out. For some home PC’s and many laptops, their anti-blob stance means your Wifi and Bluetooth won’t work.
If you have the skills, by all means help them out! But if you really need your wireless support in the short term, you can build your own Linux kernel:
git co
...
Often you’ll want to start from an existing kernel configuration. Typically an installed kernel has its configuration file in /boot. A kernel from Linux-libre might be in a place like:
/boot/config-6.18.18-gnu
In your just-checked-out Linux kernel source, you can copy that file into place:
cp /boot/config-6.18.18-gnu .config
Typically, you would then do “make olddefconfig” to add in any new kernel configuration items, each getting its default value. But there’s potentially a pretty big “gotcha” with the kernel configuration file. It has to do with how the kernel tree build tools choose defaults. See if 64-bit x86 is addressed:
grep CONFIG_64BIT .config
Unless you see:
CONFIG_64BIT=n
or
# CONFIG_64BIT is not set
olddefconfig will choose to switch your kernel configuration to a 64-bit x86 build! You will have to use “make oldconfig” and manually answer about each new config item. When you reach “64BIT”, be sure to tell it “n”.
The presence of that:
# CONFIG_64BIT is not set
is, technically, a comment in the Linux kernel .config file format. But it’s honored as “=n” for most config purposes.