Skip to content
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

RISC-V support #108

Open
stefano-garzarella opened this issue Aug 1, 2024 · 4 comments
Open

RISC-V support #108

stefano-garzarella opened this issue Aug 1, 2024 · 4 comments

Comments

@stefano-garzarella
Copy link
Member

There are several requests to support RISC-V, so let's create this issue to monitor the current status.

@stefano-garzarella
Copy link
Member Author

@endeneer @TimePrinciple we have several PRs opened. Can you try to summarize below which ones we need, if there are dependencies between them, and which ones are duplicated?

It's a little confusing for reviewers which ones to start with.

As of now, these are the open PR:

  1. Initial riscv64 support for rust-vmm-container #91
  2. Add support for RISC-V code cross compilation test #101
  3. [Draft] Introduce riscv64 image from Ubuntu LTS #104
  4. Introduce riscv64 CI container #106

@TimePrinciple
Copy link
Collaborator

TimePrinciple commented Aug 1, 2024

#101, #104, #106 are three independent proposals I raised to work out the appropriate way to do RISC-V CI.

In #101, I proposed using qemu-user-static to run cargo test, which might work with some crates, but will eventually fail with kvm-ioctls and crates need the presence of /dev/kvm, so I moved on to the second draft.

In #104, I proposed a standard way just like other architectures (x86_64, arm64) did, introduced riscv64 support for buildkite-agent, and that should be the "right" way when AWS has riscv64 machines available. Therefore, I have worked out my third draft.

In #106, the third draft bears some similarity with #91 in image building stage, and thanks to @endeneer's work which I found very heuristic and helpful. In my proposal, I used ssh to produce the original output that cargo and any other commands may produce. And this approach essentially runs everything related to riscv64 inside qemu-system-riscv64 instead of cross compilation, enabling us to finally come to use build_container.sh just like other architectures did.

In short, my proposals are completely independent, while one may not seem to be appropriate at this moment. Thus, I'm closing #101, leaving #104 open until riscv64 machines are available to AWS, #106 are the one we worth discussing and reviewing at the time being.

@stefano-garzarella
Copy link
Member Author

In short, my proposals are completely independent, while one may not seem to be appropriate at this moment. Thus, I'm closing #101, leaving #104 open until riscv64 machines are available to AWS, #106 are the one we worth discussing and reviewing at the time being.

@TimePrinciple thanks for the recap!

Should we mark #104 as Draft while waiting AWS support for riscv64?
Are #91 and #106 in conflict?

@TimePrinciple
Copy link
Collaborator

TimePrinciple commented Aug 5, 2024

In short, my proposals are completely independent, while one may not seem to be appropriate at this moment. Thus, I'm closing #101, leaving #104 open until riscv64 machines are available to AWS, #106 are the one we worth discussing and reviewing at the time being.

@TimePrinciple thanks for the recap!

Should we mark #104 as Draft while waiting AWS support for riscv64? Are #91 and #106 in conflict?

Yes, #91 and #106 are one way or the other.

I'll mark #104 now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants