[okl4-developer] Getting started with OKL4 - Problems to compile source
Geoffrey Lee
glee at ok-labs.com
Mon Oct 20 21:58:21 EST 2008
On Thu, Oct 16, 2008 at 12:34:39PM +0200, Lutz Schönemann wrote:
>
Lutz -
> Am 15.10.2008 um 17:35 schrieb Geoffrey Lee:
>
>> On Wed, Oct 15, 2008 at 11:12:27AM +0200, Lutz Schönemann wrote:
>>> Sorry to ask this question again but I need some information how to
>>> use
>>> OKL4. I need to know how to switch between processes running on top
>>> the
>>> L4 and how to control these (start / restart / stop). Maybe you know
>>> papers documenting this.
>>>
>>
>> You can place Linux binaries into the provided root filesystem
>> image in linux/rootfs-*. Then, edit the SConscript to install
>> it. Normally for userspace to interact with the rest of the OKL4
>> system we write a custom driver to let OK Linux call out to
>> the system to do the specific request - OK Linux applications
>> should not become aware that they are running on L4.
>
> So a application should be designed in a way that it can also be run on
> top of other Linux systems. Every communication to a application located
> outside OK Linux should be implemented using drivers. Do I see that right
> so far? Is there any example out there I can take a look at how it works
> in detail?
There are some drivers which interacts with the rest of the OKL4 system
in linux/kernel/arch/l4/drivers.
> But how can I see some output of application running outside OK Linux?
> How can I know which process running directly on top of the L4 kernel or
> start / stop them?
>
There is a libc with stdio functions provided. Note this eventually
does go to some sort of output device, in the 2.1 release, for native OKL4
applications the output gets forwarded to the OKL4 kernel debug serial
driver.
Starting an OKL4 application at boot time is easy. When your image is
booted it parses the list of programs and starts them off one by one.
Suspending or destroying a context of execution can be done with
the ExechangeRegisters() or ThreadControl() L4 system calls
respectively. There are restrictions on these calls - not
anybody can delete anybody they like in the system.
There currently isn't a facility to dynamically parse a program
executable and run it at run-time. Writing a simple loader
to run programs on the system might not be too hard.
-gl
More information about the Developer
mailing list