-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
x/build/env/linux-riscv-qemu: add new RISC-V builder under qemu #30262
Comments
Change https://golang.org/cl/162959 mentions this issue: |
…ting This adds a linux-amd64 COS builder that should be just like our existing linux-amd64 COS builder except that it's using a forked image that has the VMX license bit enabled for nested virtualization. (GCE appears to be using the license mechanism as some sort of opt-in mechanism for features that aren't yet GA; might go away?) Once this is in, it won't do any new builds as regular+trybot builders are disabled. But it means I can then use gomote + debugnewvm to work on preparing the other four image types. Updates golang/go#15581 (solaris) Updates golang/go#23060 (dragonfly) Updates golang/go#30262 (riscv) Updates golang/go#30267 (fuchsia) Updates golang/go#23824 (android) Change-Id: Ic55f17eea17908dba7f58618d8cd162a2ed9b015 Reviewed-on: https://go-review.googlesource.com/c/162959 Reviewed-by: Dmitri Shuralyov <[email protected]>
@rminnich, on golang-dev you wrote:
Where is that fork? Searching for [sifive qemu], one of the top hits is from April 2018 with title "RISC-V QEMU Part 2: The RISC-V QEMU port is upstream - SiFive" but I guess https://github.com/sifive/freedom-u-sdk has a risc-qemu submodule that goes to ... https://github.com/riscv/riscv-qemu/tree/ad8989a3b5359eb1afa57d7ffedeea6a3c797d9c .... so, that one? Or which branch thereof? Thanks. |
Sorry if this is already known but the Risc-V have been upstreamed into Qemu and version 3.1.0 already works. Fedora also have a riscv64 image and multiple packages built (including gccgo). I'm running it locally and found no problems so far:
Current qemu version (I'm running on Mac right now installed with homebrew):
The Fedora docs are in https://fedoraproject.org/wiki/Architectures/RISC-V/Installing#Boot_under_QEMU and the image I used is https://dl.fedoraproject.org/pub/alt/risc-v/disk-images/fedora/rawhide/20190126.n.0/Developer/.
|
I am leading Fedora/RISCV efforts and happy to answer any questions. In general RISC-V development went upstream and the last 2-3 QEMU releases support RISC-V. Similar with libvirt. |
Change https://golang.org/cl/163057 mentions this issue: |
The COS image I'd forked from earlier didn't have CONFIG_KVM or CONFIG_KVM_INTEL enabled in its kernel, so even though I'd enabled the VMX license bit for the VM, the kernel was unable to use it. Now I've instead rebuilt the ChromiumOS "lakitu" board with a modified kernel config: https://cloud.google.com/container-optimized-os/docs/how-to/building-from-open-source More docs later. Still tinkering. Nothing uses this yet. Updates golang/go#15581 (solaris) Updates golang/go#23060 (dragonfly) Updates golang/go#30262 (riscv) Updates golang/go#30267 (fuchsia) Updates golang/go#23824 (android) Change-Id: Id2839066e67d9ddda939d96c5f4287af3267a769 Reviewed-on: https://go-review.googlesource.com/c/163057 Reviewed-by: Dmitri Shuralyov <[email protected]>
Change https://golang.org/cl/163301 mentions this issue: |
…d OS + vmx This adds scripts to create a new builder host image that acts like Container-Optimized OS (has docker, runs konlet on startup) but with a Debian 9 kernel + userspace that permits KVM for nested virtualization. Updates golang/go#15581 (solaris) Updates golang/go#23060 (dragonfly) Updates golang/go#30262 (riscv) Updates golang/go#30267 (fuchsia) Updates golang/go#23824 (android) Change-Id: Ib1d3a250556703856083c222be2a70c4e8d91884 Reviewed-on: https://go-review.googlesource.com/c/163301 Reviewed-by: Dmitri Shuralyov <[email protected]>
Change https://golang.org/cl/206639 mentions this issue: |
Change https://golang.org/cl/206639 mentions this issue: |
…L 205608 Updates golang/go#27532 Updates golang/go#30262 Change-Id: If1593ab6e5653a9dce625f25a16bf8a082796592 Reviewed-on: https://go-review.googlesource.com/c/build/+/206639 Reviewed-by: Brad Fitzpatrick <[email protected]>
…L 205608 Updates golang/go#27532 Updates golang/go#30262 Change-Id: If1593ab6e5653a9dce625f25a16bf8a082796592 Reviewed-on: https://go-review.googlesource.com/c/build/+/206639 Reviewed-by: Brad Fitzpatrick <[email protected]>
We've had linux/riscv64 builders running on real hardware since November 2019. As such, I doubt we want to bring one up on qemu any more. |
@rminnich @josharian et al want to start landing RISC-V code, so we need a builder.
@rminnich says qemu (from the sifive fork) is good now.
We can run a builder similar to what we're going to do for Fuchsia and what we previous did for a bit in https://github.com/golang/build/tree/master/env/linux-arm-qemu (but that was more emulation than we'd probably want here). We'll probably want to only run tests in qemu but do builds natively.
/cc @dmitshur @andybons
The text was updated successfully, but these errors were encountered: