[lkml]   [2005]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: mabye simple,but i confused
     * guorke <> 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 | &
    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
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-06-16 09:54    [W:0.021 / U:6.816 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site