Touch does not work at all, so the unlock screen cannot be interacted with
After unlocking using the integrated hardware keyboard, the following error shows up on the console log, and after a while, the unlock screen comes up again, and the cycle goes on indefinitely:
device-mapper: table: 252:0 crypt: Error allocating crypto tfm (-ENOENT)device-mapper: ioctl: error adding target to tabledevice-mapper: reload ioctl on root (252:0) failed: No such file or directory
How to reproduce your issue?
Boot FDE image on Nokia N900
What device are you using?
nokia-n900
On what postmarketOS version did you encounter the issue?
edge (master branch)
v24.06
v24.12
I confirm that the issue still is present after running sudo apk upgrade -a*(No idea since boot does not reach a point where that can be run)*
On what environment did you encounter the issue?
Environments
GNOME Shell on Mobile
Phosh
Plasma Mobile
Sxmo (Wayland/Sway) Please post the output of sxmo_version.sh
What's the build date of the image? (in yyyy-mm-dd format)
N/A since image built via pmbootstrap
Additional information
From researching online, I found a similar Ubuntu/Debian bug which suggests the issue is related to compressed kernel modules not being included in the initramfs.
However, this seems not the cause here, since unpacking the initramfs shows all modules are in place:
Sorry to read that and thanks for opening the issue!
This all sounds like kernel modules are missing. Can you try to run lsmod in the debug-shell of v24.06 (where I assume these bugs are not present) and compare the output?
I'd assume that these are copied as modules into the initramfs and could be loaded on demand if needed (e.g. libaes is listed in lsmod now). But maybe that is broken somehow...?
Some more ideas:
Is there anything useful in dmesg?
Does it work when using the v24.06 kernel?
Does rebuilding the v24.12 kernel with the config from v24.06 help it?
--- a/device/community/linux-postmarketos-omap/config-postmarketos-omap.armv7+++ b/device/community/linux-postmarketos-omap/config-postmarketos-omap.armv7@@ -6723,7 +6723,7 @@ CONFIG_CRYPTO_ECDH=m # # Block ciphers #-CONFIG_CRYPTO_AES=m+CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_TI is not set # CONFIG_CRYPTO_ANUBIS is not set # CONFIG_CRYPTO_ARIA is not set@@ -6919,7 +6919,7 @@ CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y # Crypto library routines # CONFIG_CRYPTO_LIB_UTILS=y-CONFIG_CRYPTO_LIB_AES=m+CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=m CONFIG_CRYPTO_LIB_GF128MUL=m CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y@@ -6970,7 +6970,7 @@ CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_ARMTHUMB=y-CONFIG_XZ_DEC_ARM64=y+# CONFIG_XZ_DEC_ARM64 is not set CONFIG_XZ_DEC_SPARC=y CONFIG_XZ_DEC_RISCV=y # CONFIG_XZ_DEC_MICROLZMA is not set
This causes decryption to work again.
However, touch still does not work, even though the module is loaded and an input device for it is created.
So ATM, hardware keyboard is the only way to get into the system
Perhaps I should open the touchscreen issue under buffybox. The issue is there even in the debug shell, before unl0kr runs. Doing cat /dev/input/... on the touchscreen node does result in a lot of output, so the driver is really working
I built a v24.06 image with FDE, then upgraded to the new kernel. it was still possible to unlock using the touchscreen, so i am somewhat sure that the kernel is proper now.
yes, this is unrelated. the behavior is as if buffybox does not recognize the touchscreen as an input device, even though it's there. @cherrypicker any suggestions perhaps?
Oh, right. You'd have to add the libinput binary to the initfs, for instance by adding it to unl0kr's filelist and building / installing the package manually. We've had cases in the past where different kernel modules were being used between the initfs and the running system. So verifying that libinput recognises the device in the initfs would be quite helpful.