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.

    • asdfasdfasdf@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      10 months ago

      Contributing to Linux can be extremely daunting. Refactoring can be as well. Rust makes both of those a LOT easier. If a project is written in Rust instead of C there will be many more potential contributors and flexibility.

      • Adanisi@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        10 months ago

        And Rust has a restrictive trademark policy which could theoretically cause problems. Especially because of how full the source code of Rust is of the trademarks.

        Just, why, Mozilla?

    • leanleft@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 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."