-
Notifications
You must be signed in to change notification settings - Fork 20.8k
RISC-V support #22354
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
Comments
Great work. The future is definitely RISC-V open source HW architecture David. Congratulations. |
As the upstream issue is merged it should compile now - can we close this issue then? |
Go 1.16 was released a while ago and it contains the fix you linked golang/go#36641. Is there anything to do now? |
Thank you very much for your work @DavidBurela! |
You are correct, I tried building the latest |
Next steps:
|
We're already building with Go 1.16. |
Wrt not being on APT, Go doesn't have official PPA distributions, so you can forget about that. You can either go with snap packages (done by the previous maintainer of the PPAs), download prebuilds or build from source if you want a reasonable new Go release. |
Closing this issue. Later if it makes sense to create an Epic to track support, it can be recreated then. |
Rationale
RISC-V CPUs are becoming a hot topic, especially in the conversation of decentralization + Open Hardware.
Ensuring that go-ethereum can compile for the target cpu architecture would be a good enhancement to help with an open network.
Implementation
Current status:
Because it has been written in Golang, it is already mostly CPU agnostic.
But right now it does not compile on the current version of Go
1.15.8
, as not all of the included libraries used by geth have had RISC-V supportGetting it working:
Compiling the latest version of Golang available on GitHub does successfully compile and run geth. I was able to have it compile, connect, and start syncing with the network on an emulated RISC-V cpu architecture.
I have capture the research and steps it took to get working https://blog.davidburela.com/2020/12/03/ethereum-on-risc-v/
Steps:
-arch=riscv64
flagNext steps
Creating this issue to track support as the golang support is updated. It might be a case of simply waiting for the next major version of golang that uses the current working version on GitHub.
The text was updated successfully, but these errors were encountered: