The L4 microkernel

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Craze Frog
Member
Member
Posts: 368
Joined: Sun Sep 23, 2007 4:52 am

The L4 microkernel

Post by Craze Frog »

Does anyone have any experience with using the L4 microkernel? I am experimenting a little with it (more with its build process actually :wink: ), is it worth the effort? Is really it possible to build any OS personality on top of it (I'm not asking for any revolutionary ideas)?

And I have a concrete problem: I have compiled pistachio (the L4 implementation) and it's user-level samples, and booted it with GRUB. But the samples all uses spaghetti-web makefiles, which I don't know anything about (if I need something similar I use Jam). So when I try to compile my own user-level program I don't know what library to link to. So I get undefined references to L4_ThreadControl and L4_ExchangeRegisters. Surely there's just an object file somewhere I need to link with somewhere, but where?
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: The L4 microkernel

Post by Solar »

Craze Frog wrote:Is really it possible to build any OS personality on top of it (I'm not asking for any revolutionary ideas)?
Possible, yes. Personally, I have my doubts about the concepts behind exokernels, but it is possible (and has been done before) IIRC.
Every good solution is obvious once you've found it.
User avatar
JoeKayzA
Member
Member
Posts: 79
Joined: Wed Aug 24, 2005 11:00 pm
Location: Graz/Austria

Re: The L4 microkernel

Post by JoeKayzA »

Craze Frog wrote:And I have a concrete problem: I have compiled pistachio (the L4 implementation) and it's user-level samples, and booted it with GRUB. But the samples all uses spaghetti-web makefiles, which I don't know anything about (if I need something similar I use Jam). So when I try to compile my own user-level program I don't know what library to link to. So I get undefined references to L4_ThreadControl and L4_ExchangeRegisters. Surely there's just an object file somewhere I need to link with somewhere, but where?
I've played with L4ka::Pistachio some time ago, in your build directory, you should find a static library (IIRC it was in "user/lib/l4/libl4.a" or something), which you can link against. This library contains the implementation for all convenience API calls that are described in the manual. You should also check out the linker script that is used for the samples, IIRC you have to use a special base address for your root task, not sure though...

good luck and have fun ;)

cheers
Joe
Craze Frog
Member
Member
Posts: 368
Joined: Sun Sep 23, 2007 4:52 am

Post by Craze Frog »

The problem is, there is no lib in user\lib\*. But there is a Makefile.in. But I don't know what to do with it.
User avatar
JoeKayzA
Member
Member
Posts: 79
Joined: Wed Aug 24, 2005 11:00 pm
Location: Graz/Austria

Post by JoeKayzA »

Craze Frog wrote:The problem is, there is no lib in user\lib\*. But there is a Makefile.in. But I don't know what to do with it.
You have to build it separately. Just cd into the directory user/ and execute ./configure. This will create the makefiles, then execute make and all libs will be built, OR cd into user/lib/l4 and execute make there, then only libl4.a will be built.

cheers
Joe
Craze Frog
Member
Member
Posts: 368
Joined: Sun Sep 23, 2007 4:52 am

Post by Craze Frog »

There's no configure in user/, and no makefile either, only Makefile.in. Make I need to run autoconf or automake or something?
User avatar
JoeKayzA
Member
Member
Posts: 79
Joined: Wed Aug 24, 2005 11:00 pm
Location: Graz/Austria

Post by JoeKayzA »

...Okay, could it be that you've checked it out from cvs? Then, according to the file user/README.CVS you have to cd into user/, first run 'autoheader' then 'autoconf', then you should have a 'configure' in that directory. The 0.4 tarball I had just downloaded had a 'configure' in that directory right away....
Craze Frog
Member
Member
Posts: 368
Joined: Sun Sep 23, 2007 4:52 am

Post by Craze Frog »

Thanks.
zonas
Posts: 8
Joined: Tue Sep 25, 2007 1:22 pm
Location: Danmark

Post by zonas »

i only test it in TUD:OS and i think it works greet ....
Post Reply