From 1183cba6c9c44d5a8f7282b247f44645c6d9aefe Mon Sep 17 00:00:00 2001 From: Johannes Stoelp Date: Sun, 13 Apr 2025 23:15:53 +0200 Subject: mbr: read disk lba addressing example --- x86-bare-metal/mbr-disk-lba/mbr.ld | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 x86-bare-metal/mbr-disk-lba/mbr.ld (limited to 'x86-bare-metal/mbr-disk-lba/mbr.ld') diff --git a/x86-bare-metal/mbr-disk-lba/mbr.ld b/x86-bare-metal/mbr-disk-lba/mbr.ld new file mode 100644 index 0000000..b93543a --- /dev/null +++ b/x86-bare-metal/mbr-disk-lba/mbr.ld @@ -0,0 +1,26 @@ +/*OUTPUT_FORMAT(binary)*/ +OUTPUT_FORMAT(elf32-i386) +OUTPUT_ARCH(i386) + +SECTIONS { + . = 0x7c00; + .boot : { + *(.boot) + } + .text : { *(.text) } + .data : { *(.data) } + .bss : { *(.bss) } + .rodata : { *(.rodata) } + _boot_end = .; + + . = 0x7c00 + 510; + .mbr.magic : { + BYTE(0x55); + BYTE(0xaa); + } + + /*/DISCARD/ : { *(.*) }*/ + /*rest : { *(.*) }*/ + + ASSERT(_boot_end - 0x7c00 < 510, "boot sector must fit in 510 bytes") +} -- cgit v1.2.3