I'm just getting started with L4 and Fiasco, and wanted to try a Hello World. The goal is to have a program which will run in fiasco-ux, print some text to the screen, and then exit back to the terminal.
$ cat helloworld.c #include <stdio.h>
int main(int argc, char **argv) { printf("Hello world from L4!\n"); return 1; }
I'm encountering a problem where after the program runs, moe detects that it's terminated but doesn't itself exit.
$ ./fiasco -R './moe --init=rom/helloworld' -l ./l4re -l ./helloworld [...] MOE: cmdline: ./moe --init=rom/helloworld MOE: Starting: rom/helloworld MOE: loading 'rom/helloworld' Hello world from L4! MOE: task 1557475 exited with 1
Looking through src/l4/pkg/moe/server/src, I can't find any obvious way to make moe exit when its init process terminates. Being able to exit seems like fairly important functionality, so I assume it's present somewhere, but I can't figure out how to enable it. moe has no flags related to exiting, and its main() appears to end in the infinite-loop server.loop_noexc() procedure.
Is exiting supported? If yes, how do I enable it? If no, why, and would patches be accepted to do this?
Hi,
On Thu Jul 25, 2013 at 22:34:17 -0700, John Millikin wrote:
I'm just getting started with L4 and Fiasco, and wanted to try a Hello World. The goal is to have a program which will run in fiasco-ux, print some text to the screen, and then exit back to the terminal.
$ cat helloworld.c #include <stdio.h> int main(int argc, char **argv) { printf("Hello world from L4!\n"); return 1; }
I'm encountering a problem where after the program runs, moe detects that it's terminated but doesn't itself exit.
$ ./fiasco -R './moe --init=rom/helloworld' -l ./l4re -l ./helloworld [...] MOE: cmdline: ./moe --init=rom/helloworld MOE: Starting: rom/helloworld MOE: loading 'rom/helloworld' Hello world from L4! MOE: task 1557475 exited with 1
Looking through src/l4/pkg/moe/server/src, I can't find any obvious way to make moe exit when its init process terminates. Being able to exit seems like fairly important functionality, so I assume it's present somewhere, but I can't figure out how to enable it. moe has no flags related to exiting, and its main() appears to end in the infinite-loop server.loop_noexc() procedure.
Is exiting supported? If yes, how do I enable it? If no, why, and would patches be accepted to do this?
moe is not supposed to exit. To make a comparison to a Unix system, it's like init should exit. To exit Fiasco-UX, hit Ctrl-C to get to jdb, then '^' and Fiasco-UX will exit.
Adam
l4-hackers@os.inf.tu-dresden.de