diff options
| author | Tianhao Wang <shrik3@riseup.net> | 2023-03-10 19:26:31 +0100 |
|---|---|---|
| committer | Tianhao Wang <shrik3@riseup.net> | 2023-03-10 19:26:31 +0100 |
| commit | 29e28bc9c67378d0d9a7174dec6a0b541fb7f4d5 (patch) | |
| tree | ff9cd708e41ffb7f3b84347d404ffde758c18ab5 /Makefile | |
| parent | 285508a3c9c2fa35b608e3a561f0c7a63cfacf62 (diff) | |
a minimal working demo on bare metal
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7a10efb --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +# this is an prototype makefile with hardcodings.. +# TODO reorganize... +# + +all: bootdisk.iso + + +bootdisk.iso : kernel + cp kernel isofiles/boot/ + grub-mkrescue /usr/lib/grub/i386-pc -o bootdisk.iso isofiles + +kernel : rust_kernel startup.o + ld -static -e startup -T sections -o ./kernel startup.o target/x86_64_rustubs/debug/librustubs.rlib + +rust_kernel: + cargo rustc --target=x86_64_rustubs.json -- -C link-arg=-nostartfiles --emit=obj + +startup.o: + nasm -f elf64 -o startup.o src/arch/x86_64/asm/startup.s + +clean: + cargo clean + rm bootdisk.iso + rm startup.o + rm system + rm isofiles/boot/system + +qemu: bootdisk.iso + qemu-system-x86_64 -drive file=./bootdisk.iso,format=raw -k en-us |
