Cross-compiling Jormungandr for RISC-V via OpenEmbedded

Hi. I’m Bernardo.
I’m a :brazil: developer with a background in Embedded Systems programming, C/C++ and Rust.

I’m curious to learn more about Jörmungandr, which is the Rust Cardano node implementation, with the initial aim to support the Ouroboros type of consensus protocol.

So I took on the challenge to cross-compile it for RISC-V, which is an open standard Instruction Set Architecture (Open Source Silicon :nerd_face:).

I’m orchestrating the cross-compilation it via Yocto Project / OpenEmbedded.

I feel that’s a nice carrot in a stick with good potential for meaningful contributions to the community.

I recorded a casual screencast documenting my work, which is available on YouTube (sorry for the low resolution).

I’ll keep sharing updates on my progress here.
Work is available at https://github.com/bernardoaraujor/meta-cardano

1 Like

Too Long Didn’t Watch (TLDW):

ring v0.16.20 (which is a dependency for rustls) doesn’t support RISC-V cross-compilation.

However, there’s planned support, as stated here:

I also found this fairly recent commit:

However it looks like ring v0.17.0-alpha.10 doesn’t support it yet.

I’m waiting to hear from briansmith to see how to proceed from here. Looks like we’re close…