Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Nov 1998 10:28:17 -0800 (PST)
From:      Julian Elischer <julian@whistle.com>
To:        freebsd-hackers@FreeBSD.ORG
Cc:        mike@smith.net.au
Subject:   Re: Changing the load address of the kernel?
Message-ID:  <Pine.BSF.3.95.981123102445.7263B-100000@current1.whistle.com>
In-Reply-To: <199811222351.AAA18256@dorifer.heim3.tu-clausthal.de>

next in thread | previous in thread | raw e-mail | index | archive | help
when I got the original bootblocks working,
I experimented with loading the kernel all over the place..

you SHOULD just need to to LINK it to a different address

the old bootblocks would and the link address (in the aout header)
with 0xff0000 (or something similar) (0xf00000 ?) and load there.
so you would link for 0xf0200000 to load at 2MB.
 
(the link address was in the Makefile at the time.)


julian

On Mon, 23 Nov 1998, Oliver Fromme wrote:

> Mike Smith wrote in list.freebsd-hackers:
>  > > [...]
>  > > The bootloader (I'm using rawboot from a floppy) correctly
>  > > loads the kernel to 00400000, but it hangs right after that.
>  > > Did I miss anything?
>  > > 
>  > > Any help would be greatly appreciated.
>  > 
>  > Changing the kernel load address will require a great amount of effort. 
>  > There are almost certainly hardcoded copies of the value scattered 
>  > around.
> 
> My experiments led me to the same conclusion.  :-(
> 
>  > > Background of the problem:  I'm trying to boot a diskless
>  > > computer with a network boot ROM by LanWorks
>  > > (www.lanworks.com).  They require to make a bootable floppy
>  > > first, then put an image of that floppy on a tftp server.
>  > > The ROM loads that image, makes a RAM disk from it and boots
>  > > it.  The problem is:  That RAM disks seems to overlap with the
>  > > kernel at 00100000.  There doesn't seem to be a way to change
>  > > the location of the RAM disk.
>  > 
>  > That's ugly.  8(
> 
> Yes.  Meanwhile I found out that the overlapping memory
> locations are only half of the problem.  Thanks to Lanworks
> tech support, I got a new version of their image loader stub
> that relocates the RAM disk to a different location.  But
> there's still the same problem.
> 
> I tracked it down to some strange and subtl interference
> between the 2nd stage bootloader and the RAM disk's INT 0x13
> interface.  It occurs as soon as the bootloader switches to
> protected mode.
> 
> After some dirty hacking, it works now -- I created a modified
> version of rawboot (I called it ramboot) which reads the kernel
> directly from the RAM disk in memory.
> 
> Should I give the code to someone who can commit it?  On the
> other hand, it's really ugly code, and (AFAIK) there will be a
> new ELF-based bootloader soon, so it might not be worth
> bothering.
> Anyway, if someone needs some code to boot his/her FreeBSD box
> with a Lanworks ROM, I've put the "ramboot" stuff on the web:
> http://dorifer.heim3.tu-clausthal.de/~olli/ramboot.tar.gz
> 
> Regards
>    Oliver
> 
> PS:  I'm not an employee of Lanworks, but a happy customer.  :)
> 
> -- 
> Oliver Fromme, Leibnizstr. 18/61, 38678 Clausthal, Germany
> (Info: finger userinfo:olli@dorifer.heim3.tu-clausthal.de)
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.981123102445.7263B-100000>