Post written by Marvin Friedrich, Alexander van der Grinten and @no92.

NLnet logo NGI0 Commons logo

We are happy to announce that Managarm recently received a grant from NLnet’s NGI0 Commons fund to enhance its usability, stability and security for the web.

About the NGI0 Commons fund

NLnet is a European non-profit foundation with the goal of improving the internet by supporting open-source projects with a European dimension. The NGI0 Commons fund aims to provide support for small and medium-sized projects in the areas of free and open-source hardware, software, standards and other resources.

What the grant funds for Managarm

The grant will allow us to improve Managarm’s web capabilities both on the client side and on the server side. On the client side, we will port and enable a more capable browser to Managarm; most likely, this will be Epiphany aka GNOME Web. On the server side, we plan to bring web servers and other server applications (e.g., databases) to Managarm.

Aside from these usability improvements, a lot of the tasks related to the grant focus on stability and security. Among other things, the grant will enable us to:

  • enhance our network and USB stacks,
  • improve our hardware compatibility on ACPI systems,
  • fill gaps in our virtualization support,
  • add better swapping, OOM handling and resource accounting,
  • improve shutdown and crash resilience,
  • improve the stability and security of core parts of our system such as the kernel and POSIX emulation,
  • add IOMMU support to harden against driver failures and DMA attacks,
  • improve our infrastructure (e.g., for automated tests both on virtualized platforms and real hardware).

Next steps

We have started working on many of the tasks and work is constantly trickling into the codebase as PRs. Among them, we landed support for IP fragmentation, some USB-related work, a port of Epiphany, ACPI support for aarch64. We also started using IOMMU-based DMA remapping for some of our drivers. Aside from these, we have more things being worked on already, and you will see them in the repository or hear about them in future blog posts.

Acknowledgement

This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).

NLnet logo NGI0 Commons logo