/* http://wiki.osdev.org/Bare_Bones#Linking_the_Kernel */ ENTRY(_start) OUTPUT_FORMAT(elf32-i386) SECTIONS { . = 0xC0100000; _kernel_start = .; .text ALIGN(4K) : AT(ADDR(.text) - 0xC0000000) { *(.multiboot) *(.text) } .rodata ALIGN(4K) : AT(ADDR(.rodata) - 0xC0000000) { *(.rodata) } .data ALIGN(4K) : AT(ADDR(.data) - 0xC0000000) { *(.data) } .bss ALIGN(4K) : AT(ADDR(.bss) - 0xC0000000) { *(COMMON) *(.bss) *(.bootstrap_stack) } _kernel_end = .; }