Re: Kickstart panics
BERTRAND Joel <[email protected]> Mon, 04 Oct 2010 18:48:01 +0200
| Newsgroups | gmane.comp.micro-kernel.l4.l4ka.general |
|---|---|
| Message-ID | <[email protected]> |
Philipp Kupferschmied a écrit :
> Hi,
>
>> Grub launchs kickstart, loads kernel, sigma0 and panics. I have
>> attached a screeshoot. I don't understand this output and I haven't
> find
>> any documentation to help me. What does "choose a different link base"
>> mean ?
>
> The error means that Sigma0 is loaded to a memory location where it
> overlaps with the kernel image.
> You can use the "--with-s0-linkbase=BASE" option of the configure script
> (in the user subdir) to change the address to which sigma0 is loaded.
> You can also change the linkbase of Kickstart and the roottask if
> necessary, by using "--with-kickstart-linkbase=BASE" or "--with-
> roottask-linkbase=BASE", respectively.
OK, I have rebuilt userland with :
$(SRCDIR)/kernel/configure \
--with-kickstart-linkbase=0x100000 \
--with-s0-linkbase=0x40000 \
--with-roottask-linkbase=0x60000 \
--prefix=$(BUILDDIR)/kernel/build)
and I obtain :
cauchy:[~/openvms] > qemu -hdc freevms.img -serial stdio
KickStart 0.12.56
Detected multiboot compliant loader
kernel (0x0011b000-0x00158ce6) => 0x40101000
(0x0011b1a0-0x00134700) -> 0x00400000-0x00419560
(0x00134700-0x00135008) -> 0x00600000-0x00600908
(0x00136000-0x00137e38) -> 0x00800000-0x00801e38
(0x00138000-0x0014b000) -> 0x00a00000-0x00a13000
(0x0014b000-0x00151b28) -> 0x40101000-0x40107b28
sigma0 (0x00159000-0x00172b30) => 0x00040000
(0x001590c0-0x0015f080) -> 0x00040000-0x00045fc0
roottask (0x00173000-0x001e0043) => 0x00050000
(0x00173100-0x001898a0) -> 0x00050000-0x000667a0
Launching kernel ...
qemu: fatal: Trying to execute code outside RAM or ROM at 0x40101000
EAX=40101000 EBX=40101000 ECX=00000fa0 EDX=00000000
ESI=00000000 EDI=000365e0 EBP=00102878 ESP=00102878
EIP=40101000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
CS =0008 00000000 ffffffff 00cf9a00 DPL=0 CS32 [-R-]
SS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
DS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
FS =0010 00000000 ffffffff 00cf9300 DPL=0 DS [-WA]
This emulator only has 128 MB. I don't undestand following line:
kernel (0x0011b000-0x00158ce6) => 0x40101000
because 0x40101000 isn't addressable. Other question : I suppose that
kernel is mapped in 0x00400000-0x00419560, 0x00600000-0x00600908,
0x00800000-0x00801e38 and 0x00a00000-0x00a13000. How I can configure
these addresses ? This configuration takes more than 10 MB only for kernel !
Best regards,
JKB