Hi everyone,
I’m working on a custom Armbian build for an RK3588-based board (cm3588-nas) and trying to completely disable the Rockchip crypto driver (rk_crypto2), since it's negatively impacting LUKS (AES-XTS) performance.
Despite several attempts, the module continues to register algorithms in /proc/crypto after boot:
driver : rk2-sm3
module : rk_crypto2
driver : rk2-sha512
module : rk_crypto2
driver : xts-aes-rk2
module : rk_crypto2
...
------------------------------------------------------------
What I’ve Tried
------------------------------------------------------------
1. Kernel Config Override
- Added CONFIG_CRYPTO_DEV_ROCKCHIP=n and CONFIG_CRYPTO_DEV_ROCKCHIP2=n
to:
userpatches/linux-rockchip-rk3588-edge.config
- Verified .config has it set to n after build.
- Used CLEAN_LEVEL="make,debs,oldcache" in the build command.
2. Blacklisting & Deletion in customize-image.sh
echo "blacklist rk_crypto" > /etc/modprobe.d/blacklist-rk_crypto.conf
rm -f /lib/modules/*/kernel/drivers/crypto/rockchip/rk_crypto.ko*
3. Post-Boot Verification
- lsmod | grep rk_crypto → empty
- modinfo rk_crypto → module not found
- /proc/crypto still shows rk2-* drivers tied to rk_crypto2
4. Manual Source Removal
- Commented out this line in drivers/crypto/rockchip/Makefile:
# obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rk_crypto.o
- Also removed or disabled its Kconfig entry.
------------------------------------------------------------
System Details
------------------------------------------------------------
Board : cm3588-nas (RK3588)
Kernel : rockchip-rk3588 edge (Linux 6.8.x)
Builder : Official Armbian compile.sh
------------------------------------------------------------
Goal
------------------------------------------------------------
I want to fully disable the Rockchip crypto engine (rk_crypto2):
- It should not load, not build, and not register anything in /proc/crypto.
- LUKS should fall back to software crypto (cryptd, aesni, or default fallback).
------------------------------------------------------------
Any help is appreciated. I’d love to hear from anyone who’s successfully disabled rk_crypto2 entirely or has ideas for where the registration is coming from even when the module appears removed.
Thanks!