What does HackerNews think of xous-core?

The Xous microkernel

Language: Rust

#79 in Rust
Xous, the OS that runs on the precursor, may be of interest to look at too:

https://github.com/betrusted-io/xous-core

It is written in Rust and is targeted for a RISC-V

Xous [1][2] is an example of a microkernel written in Rust and inspired by QNX, that we are actively developing.

[1] https://betrusted.io/xous-book/ch00-00-introduction.html

[2] https://github.com/betrusted-io/xous-core

I have more been thinking about if those Rust OSs could implement WASI and allow running of a larger set of applications rather then natively porting to each OS API.

In terms of running Hubris in WebAssembly for testing, why not Renode like Xous does, https://github.com/betrusted-io/xous-core. Seems interesting but also kind of reinventing things.

I don't know of a in Rust written WebAssembly runtime that also runs on RISC-V. Wasmer has some outstanding patches.

You might be interested in Precursor and the Betrusted Platform.

https://www.crowdsupply.com/sutajio-kosagi/precursor

They are trying to have an hardware platform that can be inspected and it is based on an FPGA with a RISC-V Softcore.

Its by Bunnie, and he great talks about the choices and why he made them:

Keynote: Precursor - Trustable Open Hardware for Everyday Use - Bunnie Huang (https://www.youtube.com/watch?v=Fw5FEuGRrLE)

They are also doing their own Rust Message passing OS called Xous that might be of interest.

https://github.com/betrusted-io/xous-core

There are more good efforts, the BeTrusted guys are working on Xous, its a microkernel for a phone like device called the Precurser.

https://github.com/betrusted-io/xous-core

As a embedded service processor OS for a big server rack, Oxide Computer is working on 'HubrisOS'. They seem to have not released it yet, but that will be open sourced.

https://github.com/oxidecomputer

Those are two efforts where I know real resources are going into.

With 16MB of RAM, Linux seems unlikely to be useful.

It's probably easier to think of this as a more powerful, more open, more portable Arduino with hardware crypto accelerators, a display, keyboard, WiFi, and some GPIO pins to plug in additional hardware.

They specifically mention that it will be easy to write Rust applications that run on Precursor, but it seems likely to me that there will be other options. (It seems likely that the default "OS" will be based on the Xous microkernel that they're writing: https://github.com/betrusted-io/xous-core)

Since the main processor and crypto accelerators are all contained in an FPGA, the adventurous could change the balance of CPU features that are available. It only has a single CPU core partly because of the massive crypto accelerators, from what I understand, so someone could eliminate those and have a multi-core CPU if they wanted. With 20% of the FPGA still free, it might be possible to stick in a second (maybe smaller?) core anyways? I'm not sure.

At the risk of wanting this to be something that it's not - what's the reasoning behind not targeting Precursor towards running (embedded) Linux? With a little more RAM it seems like the specs would make it a great fit for Linux, which might allow for a broader ecosystem of use cases?

Is there something I'm missing that means developing a new OS (https://github.com/betrusted-io/xous-core/) works better for Precursor? Keen to understand the rationale, cause I think I'm probably missing something here!

edit: There's a good explanation on the CrowdSupply page - seems like it's in order to make it a more secure platform:

> Simplicity addresses the reality of only having 24 hours in a day. Even though the full source code for the Linux kernel and Firefox is published, nobody has the time to personally review every release for potential security problems; we simply trust that others have done a good job, because we have no other choice. Precursor rolls the clock back to the early 2000’s, when mobile computers were powerful enough to be useful for single tasks, while simple enough that individuals or small teams could build them from scratch. But don’t worry, despite its simplicity, Precursor’s computational capability exceeds that of the Palm Pilot series. It’s more on par with a Nintendo DS: sufficient for core security tasks such as authentication, instant messaging, crypto wallets, and even end-to-end encrypted voice calls.