Dear Adam,
Thanks for your help. I found that my problem is that I thought I could boot kernel image 'fiasco' independently without other things. Now I make the package under '.../l4/' and use `.../l4/pkg/bootstrap` to pack kernel image, run it on qemu, it has the following assertion failed message :
Hello from Startup::stage2
Assertion failed: 'prev_next' in /path/to/tuods/source/snapshot/kernel/fiasco/src/kern/buddy_alloc.cpp:34 at f0004da8
Could you please tell me what does this means ?
Besides, I have a few question :
* What's your building environment ? I use gcc-4.2.2 build by buildroot, it will has some strange problem on gcc itself. And then I test some corss-compiler I have, some works but some failed. gcc-3.4.4-glibc-2.3.5 build by crosstool works but gcc-3.4.5-glibc-2.3.5 failed on the PRE_LOAD test of `make -C l4 config`. Is there any recommend version of cross-compiler ? * I guess what bootstrap do is just packing sigma0, roottask, and so on, then do what a boot-loader do. So, if I can put them on correct position, for examples, by some tools or another boot loader, is the bootstrap still necessary ? * Since all packages in '.../l4/pkg' are not necessary to build a hello test, is there a way to build just only what I need, not the whole package under `.../l4/pkg` ?
On Sun, Sep 21, 2008 at 08:32:43PM +0200, Adam Lackorzynski wrote:
On Sat Sep 20, 2008 at 17:01:04 +0800, Tsai, Tung-Chieh wrote:
Dear All,
I'm try to boot fiasco kernel which is compiled to integrator(arm926) on QMEU. I see this thread :
http://osdir.com/ml/micro-kernel.l4.devel/2007/msg00303.html
So I guess it should be worked. But I got some problem, when I use the following command :
qemu-system-arm -kernel fiasco.image -serial stdio -d in_asm
there is no output on QEMU. I watch the log of QEMU, find that it fails to go to '_start_kernel' in 0xf0003000 from 'bootstrap_main' because there is nothing in 0xf0003000.
As I know, there is no physical memory in QEMU's integratorcp emulation. It only put memory on 0x0 and 0x80000000. So I guess the way I try is wrong, there must be something I lost. Do I have to use some kind of bootloader like grub in ia32 or putting some file by initrd, mtdblock, etc... And couold anyone give some advice about how to run it on QEMU.
bootstrap is the initial bootstrapper which loads Fiasco, sigma0, roottask and all the other programs. Go to l4/pkg/bootstrap/server/src, possibly edit modules.list, and call 'make E=entryname' (like E=hello) and a bootstrap.image file will be generated in the object directory of bootstrap. See also the README is this directory, the most important thing is the setting of the BOOTSTRAP_SEARCH_PATH to enable bootstrap to find the right Fiasco image. The bootstrap.image file is the one to be loaded by QEmu, like: qemu-system-arm -kernel bootstrap.image -serial stdio ...
Adam
Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers