OUTPUT_FORMAT(binary) ENTRY(_start) SECTIONS { . = 0x7c00; .bootsect : { * (.bootsect); } _bootsect_end = .; /* load high out of the way, to allow stage2 to load the kernel low */ . = 0x80000; _stage2_start = .; _stage2_start_seg = _stage2_start >> 4; .text : AT(_bootsect_end) { * (.startup); * (.text*); } .data : { * (.rodata*); * (.data*); } .bss ALIGN(4) (NOLOAD): { _bss_start = .; _bss_start_off = _bss_start - _stage2_start; * (.bss*); * (COMMON); . = ALIGN(4); } _bss_size = SIZEOF(.bss); . = ALIGN(4); _stage2_end = .; _stage2_size = _stage2_end - _stage2_start; };