Linked by nfeske on Sat 3rd Jun 2017 21:44 UTC
OSNews, Generic OSes

With the new version 17.05, the Genode project moves forward to the goal of becoming more attractive and approachable to a wider audience. On the one hand, the release promises to be a sustainable basis for longer-term projects. With a modern tool chain based on GCC 6.3, Qt 5.8, VirtualBox 5.2.11, and the framework's finished API modernization, the foreseeable future will be free of disruptions for users. On the other hand, Genode introduced a new approach and tooling for package management to relieve users from low-level technicalities.

Modern operating systems are unthinkable without a package-management solution for installing and updating software. Until now, however, Genode's work flows were primarily geared towards appliance-like systems that come in the shape of system images. Even though the Genode developers managed to build a day-to-day usable OS (called "Turmvilla") for their own use on that basis, there is a natural limit of how scalable such systems can be. Even for the developers, installing and updating such a system is a burden. Instead up building and installing a new system image on each update, users universally expect to install software from ready-to-use packages, and to update and configure the system in parts instead of a whole.

The discussion of suitable package-management approaches for Genode reaches several years back. The first step in this direction were custom tools for managing and integrating 3rd-party source code with the framework. But there was no notion of pre-built and easy-to-install packages, nor even a tangible idea of what a package in the context of Genode should represent. During a long period of experimentation, the developers encountered and fell in love with the Nix package manager. This encounter was followed by porting work, mind-bending architectural discussions, and a series of prototype scenarios. However, while those prototypes were technically sophisticated and interesting playgrounds, they were also complicated. A real-world solution remained cloudy.

At one time, it became clear that the universal notions of "software packages" and the role of a package manager made things more complicated than they should be. After all, Nix is designed for Unix-like systems with its existing ecosystem of libraries, build tools, conventions, and methodologies. In contrast, Genode opens up unique opportunities for simplification thanks to its breath of scope that covers the entire software stack including the build system, tool chain, the ABI and API design, the inter-component protocols, the dynamic linker, the system configuration, and the execution runtime. By taking a step back and soul-searching for the actual problem to solve, a strikingly simple new approach emerged. It is undeniably inspired by the virtues of Nix. But it leverages Genode in ways that wouldn't be possible with a ported version of Nix. For example, it facilitates Genode's notion of library ABIs to largely decouple libraries from applications and thereby completely eliminates transitive build-time dependencies. Or as another example, by introducing sensible categories of packaged content, the need for a package description language disappeared.

Genode's release 17.05 contains the new packaging tools. Even though they are still labeled as experimental, the release comes with several examples of modest system scenarios based on them. Other prominent news are a feature-complete version of VirtualBox 5 for the NOVA microkernel, the update of Qt to version 5.8, added support for the Nim programming language, a new tool chain based on GCC 6.3 including Ada support, new tools for monitoring network traffic and CPU load, greatly enhanced flexibility of the init component, and a brand new timeout API. All these topics are covered in detail by the release documentation.

Thread beginning with comment 645070
To read all comments associated with this story, please click here.
Comment by jigzat
by jigzat on Sun 4th Jun 2017 04:41 UTC
jigzat
Member since:
2008-10-30

ATM there is no Wikipedia article about Genode... weird huh? https://en.wikipedia.org/wiki/Genode_OS

Reply Score: 2

RE: Comment by jigzat
by Jondice on Sun 4th Jun 2017 11:26 in reply to "Comment by jigzat"
Jondice Member since:
2006-09-20

I was thinking the same thing.

Unrelated, came here to see discussion of Nix, wasn't disappointed. I really need to check out Genode soon.

Reply Parent Score: 2

RE[2]: Comment by jigzat
by cbass on Sun 4th Jun 2017 20:11 in reply to "RE: Comment by jigzat"
cbass Member since:
2013-08-28

That is because we decided not to write our own Wikipedia article, it would most likely sound like an advertisement to us. So maybe, some day, someone else will write one and we would be more than happy to add corrections/clarifications.

Reply Parent Score: 1