On Tue Sep 02, 2014 at 14:08:03 +0000, Masti Ramya Jayaram wrote:
Also, could you elaborate a bit on how one could have smaller components? I decided to do it at bootstrap at the moment because I realized that using the IO server also means including the entire C library (and much more).
For a start, you can set "MODE = sigma0" in the Makefile to get a much simpler setup (don't be confused by the name). Of course, not all features are there then but should be ok for checking a binary. More libraries can be removed further but also requires to do more by hand then.
On a related note, is there a way to find all the packages in use (there is more than what is compiled by module.list I can see)?
You mean binaries that are started? modules.list has defaults for kernel, sigma0 and roottask but otherwise everything else needs to be put there.
From: l4-hackers [l4-hackers-bounces@os.inf.tu-dresden.de] on behalf of Masti Ramya Jayaram [rmasti@inf.ethz.ch] Sent: 02 September 2014 09:57 To: Adam Lackorzynski; l4-hackers@os.inf.tu-dresden.de Subject: RE: Checking executables before running them in L4re/fiasco
Thanks for the suggestions. From what you say, I guess it is best to do something between ned and say vmlinuz. It also makes better sense semantically (the kernel has booted and checks if the application is ok).
Is there a way to accomplish the following:
a. Ned starts up a new process which does some checks and returns "OK/STOP". b. depending on the value returned by the new process, ned decides to launch/stop vmlinuz.
When I try "roottask moe rom/hello rom/vmlinuz" in the modules.list file, they execute in parallel. Is there a way to make it sequential?
You start ned via moe (as usual) and have a script like this:
local l = L4.default_loader; local e = l:start({}, "rom/checker rom/hello");
if e:wait() == 0 then l:start({}, "rom/hello"); else print("Something is wrong with hello."); end
So the checker program does exit(0) or exit(1) depending on its result.
Adam