Additionally, most code should be put into separate libraries then pulled into the `kernel` code.
This will likely be done via `git submodules`.
Initially, it will be built for `RISC-V`, then `ARM`*(focused on running in a [VM](/user/virtual-machine.md))*, then on a **Raspberry Pi**.
Afterwards, we can put focus towards building out various features.
Support for multiple targets will be done via `Cargo.toml` targets, cross-compilation, and [conditional compilation](https://doc.rust-lang.org/reference/conditional-compilation.html).
If not, they can display it to the user, preferably in a simple format, maybe using something like [const_panic](https://lib.rs/crates/const_panic) or [snafu](https://lib.rs/crates/snafuhttps://lib.rs/crates/snafu).