/..

#CONTENT

#TOP

linker.ld
TEXT
ENTRY(_entry)

SECTIONS {
    . = 0x7C00;
    .stub : {
        KEEP(*(.stub))
        . = 0x7C00 + 3;
    }

    /* This is where the boot parameter block would be located.
     * mformat will fill out the necessary values for the bootsector
     * to read, and the rest will be filled with nops.
     * The nop sled is necessary because FAT12/16 have different
     * extended paramter block sizes from FAT32.
     */
    .fill : {
        FILL(0x90909090);

        __parameters = .;

        . = 0x7C00 + 14;
        __reserved_sectors = .;

        __extended_parameters = .;
        . = 0x7C00 + 90;
    }

    .bootsector : { KEEP(*(.bootsector)) }

    .text   : { KEEP(*(.text.*)) }
    .rodata : { KEEP(*(.rodata.*)) }
    .data   : { KEEP(*(.data.*)) }
    .bss    : { KEEP(*(.bss.*)) }

    . = 0x7C00 + 510;
    .magic : { SHORT(0xAA55) }
}