Benjamin Gerfelder benjamin@dante.saar.de writes:
I just succeeded in booting Linux on Fiasco. Just in case anyone is interested, here are the warnings I got while booting:
[ warning messages appended below for reference ]
Congratulations for getting it up!
All of the bootup warning messages are normal (and probably should be removed from the code base).
[...] I just get *a lot of*
wake_idle_if_needed: ipc failed
messages, but this seems to be no problem.
We decided to not remove this L4Linux warning message in this release because we think it hints at a potential problem; at least we don't get this message under Jochen's L4/x86. I have to discuss this some more with my colleagues...
The only thing I`ve found that doesn`t work is XFree86, when I try to start it, the machine freezes with blank screen.
A remote debugger or a second (Hercules) video card would be of help here.
One idea I have is that maybe we don't see these hangs because we let Fiasco send the "ipc failed" warning messages to the Hercules screen instead of the VGA console. Perhaps XFree86 crashes when someone else fiddles with the video memory? I'll try this out.
- Are there any documents you suggest reading, besides the L4 Reference Manual? Any document would be of use, since I don`t have a clue on L4, but I want to play around with it. Is there anything like "L4 for dummies" ? :)
UNSW has an L4 User's Guide which covers MIPS L4, but some people have said it's interesting from an x86 perspective, too; see URL:http://www.cse.unsw.EDU.AU/~disy/L4/l4uman.ps.gz.
Other than that, I suggest you read some (depending on your interest) papers about L4 and L4Linux at URL:http://os.inf.tu-dresden.de/pubs/#l4linux.
Unfortunately, something like an ``L4 for dummies'' doesn't exist.
- Is Fiasco capable of running multiple servers at once?
Yes, this is possible.
I tried to start two instances of this helloworld-server, but it crashed immediately.
This doesn't work because Rmgr, the boot-up server and resource manager, is not a sophisticated memory manager. It can only run servers which want a one-to-one physical-to-virtual virtual-memory- space mapping. You example would work if the two instances of "hello" were linked to different virtual memory locations.
As an example which works out of the box, try running "hello" and the L4Linux server parallelly.
- Is there a simple way to reboot the system after Fiasco startet? My Laptop has no reset button :)
No, there isn't, unless your program does it for you. For instance, L4Linux uses the keyboard controller method to reset the machine when it shutdowns; this arguably is not the ``correct'' solution to this problem.
Does anyone have a good idea for an interface to reset the machine in the normal and exceptional cases?
Greetings, Michael
Welcome to Fiasco! DD-L4/x86 microkernel (c) 1998 TU Dresden - Dec 24 1998 linux_startup checking OFFS_TSS: ok, OFFS_TSS still 536 detect processorsetup_paging end linux_startup, calling start_kernel setup_arch sigma0 denies mapping of address 00001000 No kernel code/data sigma0 denies mapping of address 00002000 No kernel code/data [...] sigma0 denies mapping of address 00149000 No kernel code/data
mb4 already requested
4m page received sigma0 denies mapping of address 00ccc000 No kernel code/data
Memory end: 00ccc000
kernel info page mappt to: 00001000 root: rcvd 2, 424a25 Hmm, strange, that shouldn't happen anymore Root: null pointer deref in 5.3 at addr: 2 and eip: 424a25 (pte: 27)