So this turned out to be pilot error mostly, although it is still unclear (to me at least) what exactly changed. Since the solution I've arrived at with the great help of Takashi Iwai is not very obvious (again, to me at least) and most how-to documents on the net will lead you towards the path that I had been taking earlier, here's what I'm doing now (I've skipped the SPI variant of the module since the sensors I'm using are connected via I²C): --8<---------------cut here---------------start------------->8--- KVER=5.11.4-1 KREL=${KVER}-default KMOD=/lib/modules/${KREL}/updates/ KSRC=/usr/src/linux-${KVER}/ KBLD=/usr/src/linux-${KVER}-obj/x86_64/default/ MPTH=drivers/iio/pressure echo $KMOD $KSRC $KBLD $MPTH rsync --delete -ai $KSRC/$MPTH/ bmp280-$KVER/ cd bmp280-$KVER make -C $KBLD M=$(pwd) \ CONFIG_BMP280=m CONFIG_BMP280_I2C=m \ bmp280.ko bmp280-i2c.ko && mkdir -p $KMOD && cp bmp*.ko $KMOD && depmod ${KREL} && ll ${KMOD} && echo Success… --8<---------------cut here---------------end--------------->8--- In other words, do not do the prepare, modules_prepare and modules steps that you will widely find described elsewhere as they'll either throw errors or modify the system trees in ways that Takashi said should not be done. Judicious deviation from that rule and a bit more reading of https://www.kernel.org/doc/Documentation/kbuild/modules.txt however gets rid of some annoying warning messages and obviates the need for the manual installation of the module files: --8<---------------cut here---------------start------------->8--- KVER=5.11.4-1 KREL=${KVER}-default KMID=updates KMOD=/lib/modules/${KREL}/${KMID}/ KSRC=/usr/src/linux-${KVER}/ KBLD=/usr/src/linux-${KVER}-obj/x86_64/default/ MPTH=drivers/iio/pressure echo $KMOD $KSRC $KBLD $MPTH rsync --delete -ai $KSRC/$MPTH/ bmp280-$KVER/ cd bmp280-$KVER unxz -c /boot/vmlinux-${KREL}.xz > ${KBLD}/vmlinux && make -C $KBLD M=$(pwd) \ CONFIG_BMP280=m CONFIG_BMP280_I2C=m \ bmp280.ko bmp280-i2c.ko && ln -sf /boot/System.map-${KREL} ${KBLD}/System.map && make -C $KBLD M=$(pwd) INSTALL_MOD_DIR=$KMID modules_install && rm ${KBLD}/System.map ${KBLD}/vmlinux && ll ${KMOD} && echo Success… --8<---------------cut here---------------end--------------->8--- It should be noted that you are unlikely to succeed in this manner with a module that requires support from elsewhere in the kernel that is not already enabled. In other words, if the iio subsystem was not already configured in I'd expect the compilation of a single module from that subsystem to fail and there may well be similar dependencies across subsystems. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf rackAttack V1.04R1: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada