We are glad to announce RustSBI 0.3.0, a RISC-V bootloader environment framework in pure Rust
RustSBI is an implementation of the SBI standard under RISC-V, it amis to provide good SBI environment support for bare-metal RISC-V platforms, virtualization and simulator software. It organically combines the Rust embedded ecosystem and RISC-V system software to speed up development while ensuring the good security and operational performance of the Rust language.
The version 0.3.0 mainly include instant based SBI interface support and related constructor structures, compile in stable Rust, remove the dependence on heap memory and global variables, improve related documents, and several minor fixes. The 0.3.0 version update will provide good support for RISC-V virtualization software and RISC-V simulators written in Rust, and further improve the practicability of bare-metal RISC-V development. It can start mature operating systems such as Linux and research operating systems including zCore, etc.
With the release of the official version of RustSBI 0.3.0, the ecological chain project of RustSBI has matured, and the brewing "RustSBI prototyping system" is also under active development. The kernel running tool sbi-rt, the constant and structure package sbi-spec, and the specification test set sbi-testing have all been finalized, released a preview version, and entered the dependency options of the actual project. "RustSBI prototyping system" does not focus on prototyping only, but provides a rapid development solution. After development completed, it will allow manufacturers to adapt the SBI interface to their own RISC-V motherboards and platforms in the shortest possible time. And directly obtain advanced functions such as Penglai TEE, @dramforever's software simulation virtualization and Raven firmware debugger. At the same time, contributors and user groups have also responded to RustSBI and its new version.
Active community contributor @YdrMaster believes that RustSBI software is the expression of community power in the RISC-V SBI ecosystem. "RustSBI helped me explore 'below the kernel (M state)' and 'before the kernel (bootloader)'; compared to OpenSBI, its implementation is more concise and clean, and its construction method is more modern, which can provide a better development experience and operating space ", YdrMaster said, "In addition to having all the advantages of Rust, it also has the abstraction of library + implementation. It is not necessary to stuff all implementations into one warehouse, and there are different implementations for different requirements for a piece of hardware. If you need a new implementation, You can redo only the parts you care about, and reuse the rest. Plus, it runs fast, which is evident during continuous kernel testing."
Daniel Maslowski, a longtime contributor to the Oreboot project, says RustSBI simplifies the development of a complete bootloader. "RustSBI is the SBI implementation in the Rust ecosystem, it helps to remember what (the SBI service) needs in RISC-V, and has all the constants and structures defined", Daniel said, "Rust is one of its specialties , (in bootloader development) I don't need additional components or code libraries. This way, for quite a few SoCs, we can provide a single initialization stage for the firmware, as long as it fits into SRAM, like what I did for the JH7100 (128K)."
@LoanCold of the UltraOS team believes that, in terms of its contribution to the RISC-V SBI ecosystem, RustSBI can continue to flourish and give developers more choices. "The UltraOS team I participated in implemented the operating system written in Rust and used the RustSBI project. From the perspective of the project, better developer support and more powerful K210 development board support are the biggest benefits for me," said LoanCold "Our team has also changed RustSBI to achieve better functions. This is the benefit of open source or further open source, or the benefits of RustSBI's more complete annotations. It also enables us to better support the K210 platform This is what OpenSBI cannot do. In the future, RustSBI can achieve vertical integration, attract stable users, improve platform support and automated testing, and ensure long-term stable operation of system-level applications."
"Comparing with the past two years, the RustSBI ecosystem and users are further expanding this year. In addition to research and educational uses, we are happy to see more companies from the industry contributing to the RustSBI ecosystem," Luo Jia said, "BL808's official Rust support The library is a good start. Small and large core support, virtualization and emulator support, and security features, these are the parts that RustSBI is good at. Whether users choose the innovative full-stack Rust implementation or take into account the traditions such as U-Boot, UEFI or EDK II For the realization of software, RustSBI can well support and cooperate with the development of industrial software. In the performance test we applied to the simulator, RustSBI showed extraordinary performance, and some performance indicators reached several times that of competitors. We hope Share the excellent features of RustSBI with all bootloader software, whether it is C or Rust - ecosystem participants can work together to improve the security and stability of the bootloader industry."
Key contributors to this update are @duskmoon314, @OrangeCMS, @YdrMaster and @luojia65.
Project link: https://github.com/rustsbi/rustsbi
Release page: https://github.com/rustsbi/rustsbi/releases/tag/v0.3.0
Source: https://rustcc.cn/article?id=18318ed2-d6b3-461c-a599-fe140ef41713