-
Notifications
You must be signed in to change notification settings - Fork 697
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: test on arm64 #266
Comments
We don't have arm64 on CI, so the support is best effort. I think the real cause of the error is that loading BTF is bailing out for some reason. Without access to arm64 it'll be hard to debug. |
Thanks for reporting. I have some Pi4's laying around that I still need to set up, but we'll likely only be able to support this properly once we can build and test on arm64 CI kernels. There's some experimental arm64 support in virtme, but haven't tried it yet. Might be on the roadmap at some point, will leave this open to keep track. |
FWIW I suspect that this particular error is because |
Reopening as #304 was only kprobe-related. |
Finally had the chance to look at this. Have ALARM set up on a rpi4, and this is the test output: https://gist.github.com/ti-mo/033e7de02d58da9abc6a2bac91458291 Everything seems to work for the most part, but it seems like the following map/prog types just don't work on this kernel build:
This matches bpftool output:
It seems like, for now, the error reported here is expected. I've played around with arm32 on an older Pi before, and attempting to use kprobes/tracepoints there resulted in consistent kernel panics. I think it's just been disabled in recent builds, or the kernel support is just not ready. I'll slowly investigate some of the other failures too, but they all look related to either u/kprobes, perf, or missing vmlinux BTF somehow. |
I'm now developing on an m1 in a VM, and I see a bunch of errno 524 for unimplemented stuff. Is that the case on your rpi as well? |
Yes, this was the case back when I was briefly testing this. Don't have the Pi's handy atm, and iirc the one running on it didn't have a bunch of kernel options enabled. My idea was to (eventually) build kernel and userspace images for something like https://github.com/weaveworks/ignite, but QEMU-driven instead of Firecracker, since it doesn't support 9pfs/virtiofs. Not sure if we can get more mileage out of virtme, at least not with arm guests on a x86 host. |
I don't have access to ARM64 hardware either and so fall back to virtual environments for testing low level Kernel APIs like
The limitation of bluebox is that one can execute/test only statically linked executables as it does not provide a full Unix environment. On the other hand it can be integrated into a CI/CD pipeline quite easy and comes without dependencies (except for Go) that are hard to manage. |
Thanks for the link to bluebox, that is a cool idea! |
I see failure in running kprobe example for aarch64 kernel version
4.19.113
looks like
BPF_PROG_LOAD
is failingThe text was updated successfully, but these errors were encountered: