Enter Maestro, a unix-like monolithic kernel that aims to be compatible with Linux in order to ensure wide compatibility. Interestingly, it is written in Rust. It includes Solfége, a boot system and daemon manager, maestro-utils, which is a collection of system utility commands, and blimp, a package manager. According to Luc, it’s creator, the following third-party software has been tested and is working on the OS: musl (C standard library), bash, Some GNU coreutils commands such as ls, cat, mkdir, rm, rmdir, uname, whoami, etc… neofetch (a patched version, since the original neofetch does not know about the OS). If you want to test it out, fire up a VM with at least 1 GB of ram.

  • leanleft
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    4 months ago

    "In kernel development, debugging is very hard for several reasons:

    • Documentation is often hard to find, and BIOS implementations may be flawed (more often than you would think)
    • On boot, the kernel has full access to the memory and is allowed to write where it should not (its own code, for example)
    • Troubleshooting memory leaks is not easy. Tools such as valgrind cannot be used
    • gdb can be used with QEMU and VMWare, but the kernel may have a different behaviour when running on a different emulator or virtual machine. Also, those emulators may not support gdb (example VirtualBox)
    • Some features in the support for gdb in QEMU or VMWare are missing and gdb might even crash sometimes

    All those issues are reasons for using a memory-safe language, to avoid them as much as possible.

    Overall, the use of Rust in the kernel allowed for the implementation of a lot of safeguards. And I believe that it is, to this day, the best decision I have made for this project."