l4linux, making progress
Ryan Brown
ribrdb at gmail.com
Thu Jun 28 01:28:49 CEST 2012
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/838e13f8/attachment.html>
More information about the l4-hackers
mailing list