boot/link.txt (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
OUTPUT_ARCH(i386)
PAGE_SIZE = 1 << 12;
PART_TABLE_START = 0x00007DBE;
MEMORY
{
STAGE1_VMA : ORIGIN = 0x00007C00, LENGTH = 0x00001000
STAGE2_VMA : ORIGIN = 0x00001000, LENGTH = 0x00001000
BOOT_DATA : ORIGIN = 0x00009000, LENGTH = 0x00001000
KERNEL_VMA : ORIGIN = 0xC0000000, LENGTH = 0x30000000
}
SECTIONS
{
STAGE1 : AT(0x0000)
{
*/*(.mbr)
. = 510;
BYTE(0x55)
BYTE(0xAA)
} >STAGE1_VMA
STAGE2 : AT(LOADADDR(STAGE1) + SIZEOF(STAGE1))
{
*/*(.text)
*/*(.rodata*)
*/*(.data)
} >STAGE2_VMA
.data : AT(LOADADDR(STAGE2) + SIZEOF(STAGE2))
{
} >STAGE2_VMA
.bss :
{
*/*(.bss)
} >BOOT_DATA
}