Skip to content
Hans-Georg Eßer edited this page Feb 2, 2016 · 4 revisions

Welcome to the Ulix wiki!

Hi there! As I noticed that some people are actually watching Ulix and providing patches, I'd like to add some more information about the project.

Ulix started as my PhD project, and I published my thesis (which contains a slightly different version of the Ulix book) in September 2015. Basically, from my point of view, the code is complete, since the goal was to create an educational resource (book and source code which is basically the same since this is literate programming) that could be used in OS development courses. I already used an earlier version three times for just that purpose.

However, I'd love to see and integrate additions to the book/code so that this project can be kept alive and evolve. I will layout some of the problems that the current code has; those are the first things I'd like to see fixed, but -- at least in one case -- I don't know how to achieve this.

Compilation Depends on Specific Environment

There are two development environments in which Ulix compiles: one is a Mac running OS X 10.6.8 with a gcc cross compiler that creates ELF binaries; the other is a virtual machine running an old Debian Linux. When I change the gcc compiler version, the code breaks (Ulix will not start). When I enable code optimization in the compiler, the same happens. So I guess there are some severe coding problems somewhere (since optimizing or changing the compiler version should not have that effect). If anyone feels like fixing this, it would be great because it would enable people to develop without using the virtual machine image.

Missing Features

Ulix lacks many features that would let us compile some standard libraries and port software to Ulix. When time permits, I will add a list of things (or include your suggestions).

Integration of Code from BSc Students

Some of my bachelor students have provided code that did not make it into the current version because they were several versions behind when they finished their projects. One of the latest additions was a virtual pipe filesystem that brought pipes to Ulix. The question is how to integrate this into current Ulix. The list of BSc theses is on the ulixos.org website. Most theses are written in German, only a few are in English, one is available on GitHub (for the others, the students would have to be contacted).