I recompiled a custom 5.15 kernel for my Android Pixel 6 phone with Android 13 with event tracing enabled (especially syscall tracepoints).
After booting, the kernel does not have the /sys/kernel/tracing/events/syscalls
directory and the syscall tracepoints are not registered in /sys/kernel/debug/tracing/available_events
.
When compiling for an x86_64 architecture, it works. And it also works with Android 14, kernel 6.1 and aarch64 architecture.
Here are the steps I followed:
For Android 13, kernel 5.15, aarch64 (not working)
-
Use branch gs-android13-gs-raviole-5.15
-
Run
BUILD_CONFIG=common/build.config.gki.aarch64 build/config.sh
-
Activate the following options
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_BTF=y
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NEWORK=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FTRACE_SYSCALLS=y
-
Run
tools/bazel run --lto=thin //gs/google-modules/soc-modules:slider_dist
-
Flash boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img as described in the “Building Pixel kernels” documentation.
I also tried without --lto=thin
but without success.
For Android 13, kernel 5.15, x86_64 architecture on Cuttlefish (Working !!!)
-
Use branch common-android13-5.15
-
Run
BUILD_CONFIG=common/build.config.gki.x86_64 build/config.sh
and activate the same options as before -
Run
BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh
and thenBUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.x86_64 build/build.sh
I inspected the custom kernel configuration through /proc/config.gz
and everything seems to be consistent with the custom compilation options.
I am wondering whether the prebuilt elements could cause any problem.
Otherwise, I do not understand why it works with x86_64 (common GKI kernel) and not with aarch64 (Pixel 6 kernel that should be derived from the GKI kernel).
Any help would be very appreciated.
Thanks !
Pete1234 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.