ENTRY(_start)
SECTIONS {
- . = 0x7c00;
+ /* we'll relocate the boot sector to this address immediately, and
+ * continue loading the kernel from the end of it
+ */
+ . = 0x600;
+ _bootsect_start = .;
.bootsect : {
* (.bootsect);
}
- _bootsect_end = .;
- /* load high out of the way, to leave the rest of RAM for userland
- * reserving the top 32kb for the kernel for now
- */
- . = 0x98000;
_kern_start = .;
_kern_start_seg = _kern_start >> 4;
- .text : AT(_bootsect_end) {
+ .text : {
* (.startup);
* (.text*);
}
* (.rodata*);
* (.data*);
}
- .bss ALIGN(4) (NOLOAD): {
+ .bss ALIGN(4): {
_bss_start = .;
_bss_start_off = _bss_start - _kern_start;
* (.bss*);