Post a Comment
Of course! Right now, the Genode development is primarily geared to special-purpose applications where the low-complexity trusted computing base of a microkernel-based system is immediately beneficial. For example thin clients used in security-sensitive environments or point-of-sales devices. But with its current feature set, it could already be used as the underpinning of a limited OS in the line of Chrome OS.
Ultimately, however, the project strives towards general-purpose computing. For this reason, self-hosting Genode on Genode is one of the most important milestones for 2011.
Fortunately, the pieces you're mentioning are already there.
I haven't looked into koffice yet. One would need to take a closer look at kdelibs and their respective dependencies. These dependencies must be resolved by either porting the libraries or reimplementing their interfaces. For example, if koffice happens to rely on dbus, we would need to find a way to emulate (parts of) the dbus API on Genode.
That said, I think there are quite a few interesting engineering problems to tackle but I see no fundamental road block that would prevent such an endeavour.
There is no general answer to this question because many Qt4 applications use libraries in addition to Qt4. If an application is a pure Qt4 application (this is the case for Arora) it can be compiled for Genode without source-code modifications. For example, "porting" the text editor shown in the demo was just a matter of minutes. All it took was a little tweak in the qmake project file.
If, however, an application relies on further libraries, a simple recompilation of the application won't suffice because the needed libraries must be ported as well. The infrastructure for such a porting work is already there (called 'libports' repository) and some common libs such as freetype, libpng, zlib, and jpeg are already available. But there are no kdelibs yet, which would be needed for many popular Qt4 applications. Such a project would certainly be a good next step to go for.



