Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Nov 1998 00:51:59 +0100 (CET)
From:      Oliver Fromme <olli@dorifer.heim3.tu-clausthal.de>
To:        freebsd-hackers@FreeBSD.ORG
Cc:        mike@smith.net.au
Subject:   Re: Changing the load address of the kernel?
Message-ID:  <199811222351.AAA18256@dorifer.heim3.tu-clausthal.de>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811222351.AAA18256>