Hi,
On Wed Sep 24, 2008 at 22:13:10 +0800, Tsai, Tung-Chieh wrote:
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 ?
That likely means that the system memory size is not configured properly. The l4-config system contains a parameter to configure the platform memory size. It's called RAM_SIZE_MB. Is that set properly?
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 use 4.2, and that works (most of the time ;). If the failure is something that could be a bug in the build system it would be good to know.
- 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 ?
Bootstrap also fills out memory information and sets up a bit multi-boot structures, so yes, it's 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` ?
Admittedly you need quite a few packages to just build the hello target. The repomgr hello target should just contain the packages that are needed. But if you're just interested in the kernel, you should not need to recompile pkg/ very often?!
Adam