Wednesday, 2026-05-20

*** amccarthy is now known as Guest975300:49
*** amccarthy_ is now known as amccarthy00:49
nightishamanmal: https://pastebin.com/kdWV8rtr the issue is happening also with the lineageos boot.img and vendor_kernel_boot.img. I might test tomorrow what the kernel prints by booting full LineageOS android instead of hybris init, but I think it has to do with the issue that pKVM can't load the protected modules02:29
T42<nightishaman> It’s either modprobe is broken or something in the kernel is broken. I will enable a higher loglevel tomorrow. Also Claude suggested disabling pKVM02:44
nightishamanmal: so i conclude, the recovery successfully loads it, with linageos kernel and vendor kernel boot it is broken, so the only angle is that the init_boot image has something that breaks the early load20:20
nightishamanand unless that is fixed or i disable pkvm, it wont boot20:20
nightishamani didnt test that yet20:21
malcheck what the recovery does?20:35
malmaybe it disables watchdog or something20:35
malcheck the .rc files at least20:35
malin recovery ramdisks20:35
nightishamanthe issue is certainly due to the failed pKVM load, pKVM loads even before init runs and calls modprobe to load the module. In hybris init_boot it fails with error code 11(EAGAIN) and the modules dont load, in android recovery it does load and the EL2 code is run, eliminating the issue20:36
nightishamanwhen the modules are not run in the pKVM context, they fail to load and the kernel panic happens because one variable can only be set one time and the module tries to register again and set that only once variable and fails. the memory of the variable is cleared because the first module is unloaded and the pointer points to other memory20:37
nightishamanjust a question, where is modprobe on the hybris init_boot?20:38
nightishamanif u know that?20:38
nightishamani think i found the issue20:42
nightishamanthere is no modprobe on hybris-init_boot20:42
nightishamanstock android has it in init_boot at /system/bin/modprobe20:42
nightishamanwhich is where CONFIG_MODPROBE_PATH in kernel points to20:42
nightishamanmal: where does the modprobe come from that the init-script uses?20:44
malit's prebuilt https://github.com/mer-hybris/android_external_busybox_prebuilt20:46
malmodprobe is in busybox20:46
T42<nightishaman> hmm, pKVM can’t call that probably20:47
T42<nightishaman> Can we include a separate busybox in the ramdisk?20:51
T42<nightishaman> I mean modprobe20:51
malwould it work if you add some symlink into init ramdisk so there would be modprobe there in some usual path?20:51
malwell you could, the init content is in hybris/hybris-boot/initramfs20:52
T42<nightishaman> How would you do it? (re @SailfishFreenodeIRCBridgeBot: <mal>would it work i...)20:53
malin that initramfs some suitable location there, maybe ito bin or sbin or whatever20:59
malnot sure where it looks for it20:59
nightishamanno i meant how i would do the symlink so it correctly calls it, it uses call_usermodehelper_exec directly21:01
nightishamanso i cant do busybox modprobe21:01
malwhich what parameter does it call that?21:01
malif you happen to know that21:02
malwondering what path it uses21:03
nightishamanmal: https://github.com/maltesermailo/android_kernel_pantah/blob/hybris-23.2/arch/arm64/kvm/pkvm.c#L68321:04
nightishamanit uses whatever CONFIG_MODPROBE_PATH is set to21:04
nightishamanin my final .config that is /system/bin/modprobe21:05
malso add that under hybris/hybris-boot/initramfs/ so new folder system/bin there and the either symlink or copy busybox there as modprobe21:07
malif you want to copy it the busybox binary is under external/busybox/arm64/21:08
nightishamanwill it automatically call modprobe if i call it modprobe?21:29
nightishamanor do i have to modify the kernel to call busybox modprobe21:30
T42<b100dian> mal - I am curios if you tested fp5 with `NUM_BUFFER_SLOTS / 2`21:35
mal@b100dian not yet, I did build it already but didn't yet install on device21:49
malnightishaman: since symlinks work it should just work as copy also21:49
T42<b100dian> ok. Just wanted to say that setting MAX_MAX_ACQUIRED_BUFFERS does not work (works, but probably gstreamer disagrees). So halving the slots might be the way to go21:50
nightishamanmal: Hmm, with the busybox version I got error code 256, with the one i stole from stock android i get error 11 again22:35
nightishamanim gonna rebuild the kernel and drop the -q flag from the modprobe invocation, i wanna know whats going22:47
malyou used symlink or copied?22:47
nightishamanwith busybox, only symlink22:47
malmaybe try copying it22:47
nightishamanwith modprobe from android, i copied it22:47
nightishamanwhich is toolbox_ramdisk actually22:47
maltry to copy sfos busybox22:48
nightishamanill try after my kernel build is finished22:48
nightishamanwithout the -q flag it should print to dmesg22:49
nightishamanagain error 25623:07
nightishamanim gonna recompile the kernel with passing the flag -vv which should debug print23:07
nightishamanif that doesnt work, ill place a small script at /system/bin/modprobe instead that calls /sbin/busybox modprobe with the output stream redirected to dev/kmsg23:07
maldid you already copy busybox?23:09
nightishamanyes23:11
nightishamansame error as symlink23:11
nightishaman25623:11
maland you copied it from external/busybox/arm64?23:12
nightishamanyes23:12
nightishamanfor some reason it doesnt print my debug messages23:42

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!