Using rust ( in user applications on top of seL4 with existing C libaries and apps now has limited support.  

See here for more information:

What you can do:

 + Build system support for using a rust cargo project as a library or app on seL4 

 + Use most core libraries (core, alloc, collections, rustc_unicode, and a limited std)

 + Use rust dependencies from on seL4

 + Use rust to implement camkes components

 + Using rust's FFI support it is possible to call rust from C and C from rust.  

Two sample apps are located here:

Instructions for building and running are on the wiki page.

Has been tested on x86 i386 and arm kzm both in qemu and hardware.  


 + Rust's libstd functionality is limited by which muslc syscalls are supported on seL4.

 + Rust's libstd requires muslc thread local storage support which is not currently available on seL4.  We currently use a muslc branch called rust that uses a global TLS struct.

Kent McLeod
Kernel engineer / Thesis Student