Release of Sculpt TC
Paul Boddie
paul at boddie.org.uk
Wed Jun 13 17:30:26 CEST 2018
On Wednesday 13. June 2018 16.02.39 Alexander Boettcher wrote:
> Hi l4-hackers,
>
> we are happy to announce the release of Sculpt TC [0], a Genode based
> incarnation of a microkernel based operating system. It is the second
> out of four Sculpt OS releases planned in 2018 [1].
It is certainly interesting to see progress being made with Sculpt and Genode.
Although my own investigations have been conducted using L4Re, I did consider
doing some coding with the Genode framework, but I found the documentation to
be a bit hard to navigate for what I wanted to discover.
That said, it has taken a while for me to navigate the L4Re documentation in a
half-way effective fashion, so I rather get the impression that I might not be
amongst the target audiences for some of the materials being produced.
Ultimately, I didn't see a compelling reason to switch to Genode from a
perusal of the documentation and the code for a number of reasons.
Firstly, as the list members reading my messages can attest, having had to
endure them, I have been using Fiasco.OC because it supports the MIPS
architecture. I see that Genode supports a selection of microkernels, but this
support appears rather inconsistent, and I suppose this is the reason why
Sculpt only targets x86_64. I also see that seL4 has a place in the Sculpt
roadmap, but this only broadens the architecture support to two or three
architectures. What would be needed for it to work with Fiasco.OC?
A related issue is how I might work with Fiasco.OC within the Genode
framework. There appears to be some kind of "preparation" involved which
itself involves cloning a personal repository (on GitHub - sigh!) that was,
last time I checked, rather old. I quickly became concerned that managing my
own patches on top of Fiasco.OC would get even more complicated.
My initial impression is that Genode seems to have a more developed driver
framework than L4Re and attempts to support applications that more closely
resemble those on conventional desktops. It should almost be a foregone
conclusion that I might choose Genode, particularly since things like Qt seem
to be available, which I imagine would appeal to various audiences.
However, regarding the drivers, there seems to be a focus on Linux drivers. I
find this a bit baffling because my own experiences with Linux drivers
indicate that there is a lot of technological churn, copy-paste coding
(although that has improved in some areas), and the driver frameworks
themselves can cause a lot of additional complication.
Is this focus on Linux pursued because people would then expect the sudden
availability of contemporary hardware support if such drivers can be adapted
in some way? It seems to me that this never works out very well because soon
enough one is left with, say, adapted 2.6-era drivers that cannot be updated
because Linux itself has moved on, and with the point of adapting the drivers
being that no-one has to concern themselves with how they function, no-one is
able to overhaul them, either.
(Admittedly, my own experiments concern hardware that is well-enough
documented and has seen several iterations of driver support that writing new
drivers should be feasible even for someone like myself. Still, I think that
developing "generic" driver components is the sustainable way forward.)
It might also be interesting to see how the mechanisms in Genode and L4Re
compare to each other, and how these systems relate to multiserver systems
like GNU Hurd both technically and in terms of ambition, but I find myself
writing too much once again. Any clarifications on areas in which I am
mistaken would be very welcome, however!
Paul
More information about the l4-hackers
mailing list