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@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"));
  }
}