l4linux, making progress

Ryan Brown ribrdb at gmail.com
Thu Jun 28 05:56:04 CEST 2012


Ok, I tried it without the rtc server and got further. But now I'm getting
a kernel panic, and I still don't see any output from the linux kernel. How
can I get linux to output to the serial console?

l4linux | libio: Warning: Finding 'icu' in system bus failed with 'No such
object found'
l4linux | PH  0 (t:        1) offs=00001000 vaddr=00400000 vend=005d2000
l4linux |                     phys=00400000 ephys=005d2000
l4linux |                     f_sz=001d1040 memsz=001d2000 flgs=r-x
l4linux | PH  1 (t:        1) offs=001d3000 vaddr=005d2000 vend=00d39000
l4linux |                     phys=005d2000 ephys=00d39000
l4linux |                     f_sz=006c4102 memsz=00767000 flgs=rw-
l4linux | PH  2 (t:        4) offs=0015e948 vaddr=0055d948 vend=0055d96c
l4linux |                     phys=0055d948 ephys=0055d96c
l4linux |                     f_sz=00000024 memsz=00000024 flgs=---
l4linux | Starting binary at 0x400000, argc=2 argv=0x80007fa0
*argv=0xb1007ff4 argv0=rom/vmlinuz
l4linux | External resolver is at 0xa80006e0
l4linux | ======> L4Linux 2.6 starting... <========
l4linux | Linux version 3.0.0-l4-svn23 (ribrdb at ribox.sfo.corp.google.com)
(gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) ) #15 Wed Jun 27 20:27:59 PDT
2012
l4linux | Binary name: rom/vmlinuz
l4linux | Linux kernel command line (1 args): mem=200M
l4linux | CPU mapping (l:p)[1]: 0:0
l4linux | Image: 00400000 - 00d39000 [9444 KiB].
l4linux | Areas: Text:     00400000 - 005d2000 [1864kB] (a bit longer)
l4linux |        Data:     005d2000 - 005edd20 [111kB]
l4linux |        Initdata: 005ef000 - 00c97000 [6816kB]
l4linux |        BSS:      00c98000 - 00d29000 [580kB]
l4linux | gs=43   fs=43
l4linux | Device scan:
l4linux | Device scan done.
l4linux | l4x_fiasco_gdt_entry_offset = 9
l4linux | upage
l4linux | l4lx_thread_create: Created thread 416 (cpu0) (u:b3000400,
v:b3000600, sp:005d3ff4)
l4linux | main thread will be 416
l4linux | l4x_register_pointer_section: addr = 005d2000 size = 7761920
l4linux | section-with-init: virt: 0x5d2000 to 0xd38fff [7580 KiB]
l4linux | section-with-init: Phys: 0x00649000 to 0x00db0000, Size:  7761920
l4linux | l4x_linux_startup: thread 416.
l4linux | Main thread running, waiting...
l4linux | main thread: received startup message.
l4linux | l4x_setup_memory: Forcing superpages for main memory
l4linux | l4re_global_env: 0xb1007f34
l4linux | Main memory size: 200MB
l4linux |     Main memory: virt: 0x1000000 to 0xd7fffff [204800 KiB]
l4linux |     Main memory: Phys: 0x02c00000 to 0x0f400000, Size: 209715200
l4linux | Filling lower ptabs...
l4linux | Done (1707 entries).
l4linux | l4x_register_pointer_section: addr = 005d2000 size = 7761920
l4linux |             end: virt: 0x5d2000 to 0xd38fff [7580 KiB]
l4linux |             end: Phys: 0x00649000 to 0x00db0000, Size:  7761920
l4linux | l4lx_thread_create: Created thread 41d (timer.i0) (u:b3000800,
v:00000000, sp:00cc3ff8)
l4linux | timer_irq_thread: Starting timer IRQ thread.
l4linux | panic: going to sleep forever, bye


On Wed, Jun 27, 2012 at 4:28 PM, Ryan Brown <ribrdb at gmail.com> wrote:

> I've managed to get my l4linux build to start running, but it doesn't seem
> to get far:
> l4linux | libio: Warning: Finding 'icu' in system bus failed with 'No such
> object found'
> 4linux | PH  0 (t:        1) offs=00001000 vaddr=00400000 vend=005d1000
> l4linux |                     phys=00400000 ephys=005d1000
> l4linux |                     f_sz=001d0cb8 memsz=001d1000 flgs=r-x
> l4linux | PH  1 (t:        1) offs=001d2000 vaddr=005d1000 vend=00d36000
> l4linux |                     phys=005d1000 ephys=00d36000
> l4linux |                     f_sz=006c4c10 memsz=00765000 flgs=rw-
> l4linux | PH  2 (t:        4) offs=0015df14 vaddr=0055cf14 vend=0055cf38
> l4linux |                     phys=0055cf14 ephys=0055cf38
> l4linux |                     f_sz=00000024 memsz=00000024 flgs=---
> l4linux | Starting binary at 0x400000, argc=3 argv=0x80007f9c
> *argv=0xb1007ff4 argv0=rom/vmlinuz
> l4linux | External resolver is at 0xa80006e0
> l4linux | ======> L4Linux 2.6 starting... <========
> l4linux | Linux version 3.0.0-l4-svn23 (ribrdb at ribox.sfo.corp.google.com)
> (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) ) #10 Wed Jun 27 16:00:19 PDT
> 2012
> l4linux | Binary name: rom/vmlinuz
> l4linux | Linux kernel command line (2 args): mem=200M console=ttyLv0
> l4linux | Configuration checks disabled, you know what you're doing.
> l4linux | CPU mapping (l:p)[1]: 0:0
> l4linux | Image: 00400000 - 00d36000 [9432 KiB].
> l4linux | Areas: Text:     00400000 - 005d1000 [1860kB] (a bit longer)
> l4linux |        Data:     005d1000 - 005edc60 [115kB]
> l4linux |        Initdata: 005ef000 - 00c96000 [6812kB]
> l4linux |        BSS:      00c96000 - 00d26000 [576kB]
> l4linux | gs=43   fs=43
> l4linux | Device scan:
> l4linux | l4x_fiasco_gdt_entry_offset = 9
>
> Then it just stops.  What's happened here? Should I see more output? Or
> does the kernel output go somewhere else? I've compiled my kernel with an
> initramfs that does an "echo hello init" at the beginning of init, but I
> never see that.
>
> Do I need to worry about that 'icu' 'No such object found'? I tried adding
> a capability to icu for l4linux, but that didn't seem to help.
>
> Also, I'm having trouble getting my io config correct. IO prints out:
> io      | Loading: config 'rom/l4lx-virtio.io'
> io      | rom/l4lx-virtio.io:7.37-50: warning: could not find
> 'PCI/VEN_1AF4'
>
> but then later on I see:
>
> io      |     P6Device: S4__ ""
> io      |     Hw::Device[S4__]
> io      |       0000:00:04.0: display controller [0]
> io      |                     0x1af4 0x1000
> io      |                     Red Hat, Inc Virtio network device
> io      |       IOPORT  [0000000000c000-0000000000c03f 40] non-pref
> (32bit) (align=3f flags=4a03)
> io      |       IRQ     [0000000000000b-0000000000000b 1] level high
> (32bit) (align=0 flags=104201)
>
> What's up with that?
>
> Here's my settings:
>
> modules.list:
>
> entry L4Linux-virtio
> kernel fiasco -serial_esc
> roottask moe rom/l4lx-virtio.cfg
> module l4re
> module ned
> module l4lx-virtio.cfg
> module io
> module rtc
> module x86-legacy.devs
> module l4lx-virtio.io
> module vmlinuz
>
>
> l4lx-virtio.cfg
>
> loader = L4.default_loader;
>
> bus_linux = loader:new_channel();
> bus_rtc = loader:new_channel();
> rtc_cap = loader:new_channel();
>
> loader:start({
>   caps = {
>     rom = rom;
>     sigma0 = L4.cast(L4.Proto.Factory,
> L4.Env.sigma0):create(L4.Proto.Sigma0);
>     l4linux = bus_linux:svr();
>     icu = L4.Env.icu;
>     rtc_bus = bus_rtc:svr();
>   },
>   log = { "io", "red" },
> }, "rom/io -vvvv rom/x86-legacy.devs rom/l4lx-virtio.io");
>
> loader:start({
>   caps = {
>     rom = rom;
>     vbus = bus_rtc;
>     rtc = rtc_cap:svr();
>   },
>   log = { "rtc", "green" },
> }, "rom/rtc");
>
> L4.default_loader:start(
>   { caps = {
>       log = L4.Env.log:m("rws");
>       vbus = bus_linux;
>       rtc = rtc_cap;
>     },
>     l4re_dbg = L4.Dbg.Warn,
>     log = { "l4linux", "yellow" },
>   },
>   "rom/vmlinuz mem=200M console=ttyLv0 ");
>
> l4lx-virtio.io
>
> l4linux => new System_bus()
> {
>   # Add a new virtual PCI root bridge
>   PCI0 => new PCI_bus()
>   {
>     # Allow access to virtio devices.
>     pci_l4x[] => wrap(hw-root.match("PCI/VEN_1AF4"));
>   }
> }
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20120627/cc32fbb9/attachment.htm>


More information about the l4-hackers mailing list