Hi,
I want to create a base-linux core that is able to run on a bare linux kernel to use it such as any other microkernel in Genode. Since base-linux already implements some of the required interfaces I'd like to reuse the already existing components as much as possible.
Yet I'm not sure what the way to go is:
- Copying the contents of base-linux into a new repository would probably make an easy start but lead to code duplication (and I would probably have to port all updates of base-linux).
- I already tried to reinclude the contents of base-linux (my repository currently only consists of Makefile fragments). Even though it builds it's often quite hacky to relocate some of the $(REP_DIR) entries to base-linux without breaking $(REP_DIR) itself. Also external libs sometimes don't seem to find the correct headers.
- Directly extending base-linux would avoid these problems but this would require either a switch to choose between the original and the new functionality of this core or even better a "hybrid" core that is able to run in both environments. Also this change would probably need to get upstream (I don't know if this kind of change would be a problem generally).
What is the recommended way to do this?
Regards, Johannes