As my Bachelor Thesis, I worked on adding support for the HelenOS operating system to the Rust compiler. My work has successfully enabled easy compilation of Rust programs for HelenOS, including GUI programs written with the Iced UI framework. This project had me digging in the internals of the Rust standard library as well as HelenOS system API implementations. I also needed to gain a good understanding of the ELF binary format, the linking procedure and generally, as a result of this thesis I have solid experience with many systems programming topics.
Best overview of my thesis can be seen in the project poster below (also downloadable as a PDF).
You can also download a HelenOS bootable ISO with preinstalled Rust programs. Run it with QEMU like this:
qemu-system-x86_64 -device e1000,netdev=n1 -netdev \
user,id=n1,hostfwd=tcp::8080-:8080,hostfwd=tcp::8081-:8081 \
-usb -device nec-usb-xhci,id=xhci -device usb-tablet -device \
intel-hda -device hda-duplex -serial stdio -boot d \
-m 2G -enable-kvm -cdrom helenos-rust-x86_64.iso
The following Rust applications are installed in the system: rtest
(a test suite), chksum
, resvg
, imagecli
, imageviewer-rs
and life
.