|
@@ -1,6 +1,7 @@
|
|
|
target := aarch64-unknown-none
|
|
|
mode := release
|
|
|
kernel := target/$(target)/$(mode)/aarch64
|
|
|
+kernel_bin := target/$(target)/$(mode)/aarch64.bin
|
|
|
|
|
|
sysroot := $(shell rustc --print sysroot)
|
|
|
objdump := $(shell find $(sysroot) -name llvm-objdump) --arch-name=aarch64
|
|
@@ -20,6 +21,9 @@ env:
|
|
|
kernel:
|
|
|
cargo build $(BUILD_ARGS)
|
|
|
|
|
|
+$(kernel_bin): kernel
|
|
|
+ aarch64-linux-gnu-objcopy -O binary $(kernel) $(kernel_bin)
|
|
|
+
|
|
|
asm: kernel
|
|
|
$(objdump) -d $(kernel) | less
|
|
|
|
|
@@ -32,11 +36,11 @@ header: kernel
|
|
|
clean:
|
|
|
cargo clean
|
|
|
|
|
|
-qemu: kernel
|
|
|
+qemu: $(kernel_bin)
|
|
|
qemu-system-aarch64 \
|
|
|
-machine virt \
|
|
|
-cpu max \
|
|
|
-serial mon:stdio \
|
|
|
- -kernel $(kernel)
|
|
|
+ -kernel $(kernel_bin)
|
|
|
|
|
|
run: qemu
|