L4Linux direct access

Riccardo Cecolin l4 at rikiji.de
Tue Feb 7 11:28:12 CET 2012


Hi,

I tried with the drops-rd.rd filesystem image found here:
http://os.inf.tu-dresden.de/L4/LinuxOnL4/download/drops-rd.rd and with a
debootstrap generated one of debian stable and they both hang there. The
same images work fine if I boot l4linux with fbdrv and mag.  Everything 32
bit, bash is dynamically linked on the drops image as well as on the one i
created. Libraries are in their place and /dev/console is there.
If instead of /bin/bash i let the default init process start I get a
segfault at 405f24 (dispatch.c) and then repeated segfaults in 4109d5
(where i suppose it is trying to dump the stack).
I have been able to see this output poking with the VCPU option in the
l4linux advanced configuration.

Riccardo

...
Freeing unused kernel memory: 220k freed
l4linux | EX: 0: pc = 0041173a sp = 07829fac trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 079f9fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e13fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e17fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e1bfc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e13fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e17fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e1bfc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06dd9fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e1dfc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e1ffc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06dd9fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e1dfc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e1ffc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e05fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e13fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06dfdfc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e05fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e11fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06dfdfc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06dfffc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06df9fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e19fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06dfffc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06df9fc8 trapno = 0xd err/pfa = 0x402
l4linux | EX: 0: pc = 0041173a sp = 06e19fc8 trapno = 0xd err/pfa = 0x402
l4linux | Page fault: addr = b69e097c pc = 00405f24 (ro)
l4linux | Non-resolvable page fault at b69e097c, ip 405f24.
l4linux | Page fault (non-resolved): pfa=b69e097c pc=405f24
l4linux | EX: 0: pc = 00405f24 sp = 06e1df58 trapno = 0xe err/pfa =
0xb69e097c r
l4linux | Non-resolvable page fault at b69e097c, ip 405f24.
Die message: Trap: 14
l4linux | Page fault: addr = b69e097c pc = 004109d5 (ro)
l4linux | Non-resolvable page fault at b69e097c, ip 4109d5.
l4linux | Page fault (non-resolved): pfa=b69e097c pc=4109d5
l4linux | EX: 0: pc = 004109d5 sp = 06e1def0 trapno = 0xe err/pfa =
0xb69e097c r
l4linux | Non-resolvable page fault at b69e097c, ip 4109d5.

src/l4linux/arch/l4/kernel/arch-x86/dispatch.c:395
  405f21:    8b 4d 98                 mov    -0x68(%ebp),%ecx
  405f24:    64 a1 0c 0e 82 00        mov    %fs:0x820e0c,%eax
  405f2a:    8b 04 85 40 bf 7e 00     mov    0x7ebf40(,%eax,4),%eax
  405f31:    c7 04 08 10 00 00 00     movl   $0x10,(%eax,%ecx,1)

src/l4linux/arch/l4/kernel/arch-x86/../../../x86/kernel/dumpstack.c:210
  4109d5:    64 8b 15 0c 0e 82 00     mov    %fs:0x820e0c,%edx


bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically
linked (uses shared libs), for GNU/Linux 2.0.30, stripped
bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically
linked (uses shared libs), for GNU/Linux 2.6.18, stripped

ldd bash:
    linux-gate.so.1 =>  (0xb783c000)
    libncurses.so.5 => /lib/libncurses.so.5 (0xb77eb000)
    libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb77e7000)
    libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76a0000)
    /lib/ld-linux.so.2 (0xb783d000)



On Mon, Feb 6, 2012 at 11:32 PM, Adam Lackorzynski <
adam at os.inf.tu-dresden.de> wrote:

> Hi,
>
> On Mon Feb 06, 2012 at 18:29:37 +0100, Riccardo Cecolin wrote:
> > I'm trying to make a l4linux system access the vga directly without mag,
> > l4con or fbdrv. I compiled it using the default configuration with
> virtual
> > pci bus enabled, x86-mp_vPCI_defconfig.
> > I'm currently trying on qemu, i see that l4linux recognizes the pci
> devices
> > and is able to mount the root fs from /dev/hda (i also tried with a
> ramdisk
> > with same results) and loads the driver of the vga (vgaarb: device added:
> > PCI:0000:00:01.0,decodes=io+mem,owns=io+mem,locks=none).
> > But then i get a kernel panic because init (/bin/bash) exited (or didn't
> > execute):
> >
> > l4linux | EX: 0: pc = 0041176a sp = 07829fac trapno = 0xd err/pfa = 0x402
> > Kernel panic - not syncing: Attempted to kill init!
> > Pid: 1, comm: bash Not tainted 3.0.0-l4-svn23 #35
> > Call Trace:
> >  [<006e4a29>] panic+0x57/0x14b
> >  [<0042ddd1>] do_exit+0x601/0x6c0
> >  [<004839e2>] ? do_munmap+0x202/0x290
> >  [<0042df60>] ? sys_exit_group+0x20/0x20
> >  [<0042df73>] sys_exit+0x13/0x20
> >  [<00406b13>] l4x_user_dispatcher+0xdd3/0x22c0
> >  [<00409702>] l4_kernelinternal_execve+0x52/0xe0
> >  [<00400569>] in_kernel_int80_helper+0x9/0x20
> >  [<0041176c>] ? kernel_execve+0x1c/0x30
> >  [<004001b7>] run_init_process+0x17/0x20
> >  [<00400251>] init_post+0x91/0xb0
> >  [<007ec1d5>] kernel_init+0x10e/0x116
> >  [<007ec0c7>] ? parse_early_options+0x25/0x25
> >  [<00409a99>] kernel_thread_start+0x29/0x30
>
> The excepion is completely normal, should be the exec for init/bash.
> Looks like bash is exiting itself and as it's init, Linux stops. What's
> on your 16MB disk? Is the bash statically linked? Or all shared libs
> there? /dev/console there? Everything 32bits?
>
>
>
> Adam
> --
> Adam                 adam at os.inf.tu-dresden.de
>  Lackorzynski         http://os.inf.tu-dresden.de/~adam/
>
> _______________________________________________
> l4-hackers mailing list
> l4-hackers at os.inf.tu-dresden.de
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20120207/d5592140/attachment.html>


More information about the l4-hackers mailing list