RE: Checking executables before running them in L4re/fiasco

"Masti Ramya Jayaram" <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
>For a start, you can set "MODE = sigma0" in the Makefile to get a much
Ok, I will try the MODE=sigma0. 

>You mean binaries that are started? 
Yes but some modules have dependencies (like the Io server and examples of target dependencies include libsigma). Is there a way to find all of them?

Finally, on a related note, could you explain to me how all the modules get merged to create the elfimage? I ask because I have to access the modules (vmlinux, l4linux.cfg and ramdisk) from bootstrap in order to modify/check them. For example, I would like to load the modules encrypted and decrypt them in bootstrap before continuing. I can do decryption in place but again, I am not sure about module sizes, etc. 

I see that some of this information is included during the image creation process in l4/pkg/bootstrap/server/src/build.pl but I cannot quite get the entire picture. Could you point me to any documentation about it?

Thanks,
Ramya
________________________________________
From: l4-hackers [[email protected]] on behalf of Adam Lackorzynski [[email protected]]
Sent: 03 September 2014 00:02
To: [email protected]
Subject: Re: Checking executables before running them in L4re/fiasco

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 [[email protected]] on behalf of Masti  Ramya Jayaram [[email protected]]
> Sent: 02 September 2014 09:57
> To: Adam Lackorzynski; [email protected]
> 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
--
Adam                 [email protected]
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/

_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.