Rust&#x27;s support for cross compilation, both in the compiler and the tooling (cargo, multirust&#x2F;rustup) is amazing.  Last week I was working on a hardened system project.  It involved building a system consisting of just a kernel and a single process.  At first I was going to target a unikernel, so I pulled the &quot;x86_64-rumprun-netbsd&quot; target, read some docs on rumprun, and in about 30 minutes I had a Rust project running as a unikernel, all well supported by Rust and its tooling.<p>For various reasons I had to drop the unikernel and switch to Linux combined with the program (I set the program as init, so Linux boots, runs the program, and that&#x27;s that).  That was super easy as well.  I grabbed &quot;x86_64-unknown-linux-musl&quot;, and the Rust program runs like a champ as the init process on this Linux &quot;system&quot; with no libraries to speak of.<p>I&#x27;m also immensely happy that I added the .cargo&#x2F;config &quot;target&quot; option to Cargo&#x27;s code.  &quot;cargo build&quot; is much nicer than &quot;cargo build --target=name_of_the_target_which_I_will_never_remember_x86&quot;.  Cargo&#x27;s code was fairly simple to dive into, and Rust&#x27;s team has made the contribution process smooth and bulletproof (thanks to all their Github bots and unit&#x2F;integration tests).  I think that pull request was resolved in about a week (mostly due to waiting for the team to meet and confirm that they wanted to add that flag to the config file).