I'm trying to get linux22 working on the recent CVS version of fiasco.
I've run into an obstacle that hopefully someone here can assist with.
When my machine is booting up, I get an "overlapping modules" error that
looks like this:
-------------------------------------------------------
RMGR: loading /sigma0
RMGR: loading kernel /main
RMGR: overlaps: 00300000-00301c78 : /main
RMGR: 00100000-0015fc69
module 02: 001e6000-00345be4 : /glinux root=/dev/hdb1 init=/bin/sh
…
[View More]overlaps, 1, mem_high = 0x09f9fc00
RMGR: overlapping modules
-------------------------------------------------------
00300000 is the starting link address of /main
00100000 is the starting link address of /rmgr
I thought that maybe I needed to move the starting link address of
/glinux, so I adjusted the corresponding vmlinux.lds file used for
linking linux22, but there is no change in the result. I verified all
code start/end addresses using objdump -d.
Just now I noticed that 001e5000 is where GRUB is loading the /glinux
image to. Grub shows:
[Multiboot-modules @ 0x1e6000 ...
when it is starting up.
The problem seems to be that rmgr is calling check_inside_myself and
croaking when it sees that the /glinux module overlaps it.
I don't understand why the /main and /rmgr images are being loaded to
their correct link locations, but /glinux is not. Is grub supposed to
load things directly to the correct location, or are the modules
supposed to be relocated at some point in the boot process.
Any suggestions on what to look at?
-- Ian
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ian Duggan ian(a)ianduggan.net
http://www.ianduggan.net
[View Less]