Checking executables before running them in L4re/fiasco
Adam Lackorzynski
adam at os.inf.tu-dresden.de
Mon Sep 8 00:03:48 CEST 2014
Hi,
On Fri Sep 05, 2014 at 12:29:15 +0000, Masti Ramya Jayaram wrote:
> Thanks for the information. I have two issues/questions:
>
> a. I looked at the move_modules (which does not do much in my case) and I tried to replace the linux.cfg from
>
> Compiled in version:
> --------------------------------------------------
> ------vim:set ft=lua:
>
> L4.default_loader:start({ caps = {
> log = L4.Env.log:m("rws"),
> },
> l4re_dbg = L4.Dbg.Warn,
> log = { "l4linux", "yellow" },
> }, "rom/vmlinuz mem=128M console=ttyLv0,115200 l4x_rd=rom/ramdisk-x86.rd root=1:0 ramdisk_size=4000 l4ser.vkey_enable=1");
>
>
> Replaced version: (just the memory changes but this results in a difference in the length!)
> ---------------------------------------------------
> --vim:set ft=lua:
> L4.default_loader:start({ caps = {
> log = L4.Env.log:m("rws"),
> },
> l4re_dbg = L4.Dbg.Warn,
> log = { "l4linux", "yellow" },
> }, "rom/vmlinuz mem=64M console=ttyLv0,115200 l4x_rd=rom/ramdisk-x86.rd root=1:0 ramdisk_size=4000 l4ser.vkey_enable=1");
>
>
> I achieve this with the following code that runs immediately after construct_mbi:
>
> a. Copy the placed version into the start address of the linux_cfg
> module (this happens correctly as I can see the memory dump).
> b. Change the compressed and uncompressed lengths in mod_info to
> reflect the smaller size.
>
> The process runs until ned which fails to parse the config file
> (unexpected symbol error) and the problem seems to be the difference
> in length of the two configs. For example, if the 2nd config is
> "mem=064M" instead of "mem=64M", then it works. I change the length
> appropriately in mod_info of the mbi. What am I missing?
When you already changed the target, changing the size variables
probably won't make a difference. Did you clear out the old contents? I
think you have remaining characters in the file that are interpreted and
causing the error.
> a. The "MODE = sigma0" suggestion: I tried this by changing
> bootstrap/server/src/Make.rules but I get an error saying: "ld: cannot
> find -ll4util". The relevant part in the linker line that differs from
> the default working build (with "MODE = lib") is:
Wait. I meant the MODE=sigma0 for newly created programs. If you want to
make bootstrap smaller, you need to remove code/features from it.
Adam
--
Adam adam at os.inf.tu-dresden.de
Lackorzynski http://os.inf.tu-dresden.de/~adam/
More information about the l4-hackers
mailing list