lkml.org 
[lkml]   [2005]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: mabye simple,but i confused
 * guorke <gourke@gmail.com> dixit:
> in understangding the linux kernel, the authors says
> "..Moves itself from address 0x00007c00 to address 0x00090000.."
>
> What i confused is why the Boot Loader do this, i asked google,but
> still no answe.
> who can make me understand it ?

Well, let's start with the Master Boot Record. In PC's the BIOS
loads the MBR at address 0x7c00, but the MBR is responsible for
loading the OS bootsector, if any. And the bootsectors are written
assuming that they're loaded by a MBR or *by the BIOS itself* so the
address they assume is 0x7c00. But the MBR is already at that
address! What can it do? Well, it moves itself out of the place.

The problem is that the kernel itself could be loaded directly by
the BIOS (a long time ago, it was possible to boot from a raw floppy
containing an image of the kernel), and the first sector would be
loaded at 0x7c00, so the bootsector, MBR, loader or whatever has to
move out of that address at the very beginning. Why the physical
address 0x00090000 was used? I don't know. Well, it's well at the top
of the 640k base memory and the segment starts with 1001 in binary,
which is a fancy number XDD
Hope that helps.

Raúl Núñez de Arenas Coronado

--
Linux Registered User 88736 | http://www.dervishd.net
http://www.pleyades.net & http://www.gotesdelluna.net
It's my PC and I'll cry if I want to...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-06-16 09:54    [from the cache]
©2003-2011 Jasper Spaans