gojue/ecapture

Not working with redroid

XiaoliChan opened this issue · 13 comments

ENV:

  • ecapture: 0.7.0
  • devices: redroid 13 (docker container)

Error:
2023/12/16 17:30:14 Failed to read kernel configuration., error:open /proc/config.gz: no such file or directory

Redroid didn't include /proc/config.gz, maybe can add some argument like --force to force execute ecapture?

Good suggestion, I will evaluate it.

Can confirm /sys/kernel/btf/vmlinux is existed in redroid
image

Not all androids will have /sys/kernel/btf/vmlinux present. I intend to be compatible with both cases.

Not all androids will have /sys/kernel/btf/vmlinux present. I intend to be compatible with both cases.

Sweet, I'm looking forward to using it with redroid👍

Can you check where the '/proc/config.gz' file has been changed on your Redroid device?

Can you check where the '/proc/config.gz' file has been changed on your Redroid device?

I have tried many times with the Redroid (with Android 12-13), but it looks like /proc/config.gz has been removed and I can't find where it is.
image

So, I think maybe Redroid has done something like cleaning when building the image.

Reference:

Okay, I know what happens now, so the IsContainer function in bpf_androidgki.go is not done yet

Force return true in IsContainer function to make it work
image

The IsContainer function does not return true directly, and some features need to be detected. What are the characteristics of Redroid that are different from Android? Like a file? A configuration?

What are the characteristics of Redroid that are different from Android? Like a file? A configuration?

TBH, I also don't know what the difference between them XD.
The reason why I use Redroid is it just a docker container and it is easy to deploy it. One thing I can confirm is ecapture can work properly on redroid.

Well, it looks like a niche need. I'm not going to fix it to the project, what do you think?

Well, it looks like a niche need. I'm not going to fix it to the project, what do you think?

Well, maybe need a --force arg and don't need to fix the IsContainer function

@hongyang51 在你的开发板设备上, config的路径是什么呢?

@hongyang51 在你的开发板设备上, config的路径是什么呢?

/boot/config* , 但是我只是修改了检索的路径,修改为/data/local/config.gz 可以手动push上去。
校验与否对我来说实际不太重要