diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | linker.ld | 11 | ||||
-rw-r--r-- | stage2/x86-loadnothing.json | 3 |
3 files changed, 14 insertions, 2 deletions
@@ -9,7 +9,7 @@ magic.bin: stage2/target/x86-loadnothing/release/stage2: stage2/src/main.rs cd stage2 && cargo rustc --release -- --emit=obj - ld -m elf_i386 -o stage2/target/x86-loadnothing/release/stage2.bin --oformat binary stage2/target/x86-loadnothing/release/stage2 -Ttext=0x7e00 + ld -T linker.ld -m elf_i386 -o stage2/target/x86-loadnothing/release/stage2.bin --oformat binary stage2/target/x86-loadnothing/release/stage2 -Ttext=0x7e00 mv stage2/target/x86-loadnothing/release/stage2.bin stage2/target/x86-loadnothing/release/stage2 nothing.img: magic.bin stage2/target/x86-loadnothing/release/stage2 stage1/boot.bin diff --git a/linker.ld b/linker.ld new file mode 100644 index 0000000..b9fb3e5 --- /dev/null +++ b/linker.ld @@ -0,0 +1,11 @@ +MEMORY { + RAM : org = 0x7e00, l = 12K +} + +SECTIONS { + . = 0x7e00; + .text : + { + *(.text) + } > RAM +} diff --git a/stage2/x86-loadnothing.json b/stage2/x86-loadnothing.json index ee812b3..556f46e 100644 --- a/stage2/x86-loadnothing.json +++ b/stage2/x86-loadnothing.json @@ -12,5 +12,6 @@ "panic-strategy": "abort", "disable-redzone": true, "features": "-mmx,-sse,+soft-float", - "cpu": "pentium" + "cpu": "pentium", + "relocation-model": "static" } |