summaryrefslogtreecommitdiffstats
path: root/build.bat
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2025-11-12 13:01:27 +0100
committerladevieq <ladevie.quentin@gmail.com>2025-11-12 13:01:27 +0100
commitc85b21beda0b65118d6128df6e397c6f95c50281 (patch)
treea9984710fbeba874b4c0d8c7aeabd75917052cc5 /build.bat
Initial commit
Diffstat (limited to 'build.bat')
-rw-r--r--build.bat29
1 files changed, 29 insertions, 0 deletions
diff --git a/build.bat b/build.bat
new file mode 100644
index 0000000..da1fbba
--- /dev/null
+++ b/build.bat
@@ -0,0 +1,29 @@
+IF EXIST build (
+ rmdir /s /q build
+)
+
+mkdir build
+
+:: bootloader
+nasm -g -O0 -f bin -o build/boot.bin src/boot.s
+
+:: kernel
+clang --target=x86_64-unknown-linux-gnu -c src/kernel.c -o build/kernel.o -std=c23 -ffreestanding -Wall -Wextra
+ld.lld -T linker.ld build/kernel.o -o build/kernel.bin
+
+:: create img
+copy ref.img build/disk.img
+:: qemu-img create -f raw build/disk.img 8M
+:: qemu-img dd if=build/boot.bin of=build/disk.img
+:: qemu-img dd count=2 skip=1 if=build/kernel.o of=build/disk.img
+
+:: -drive is equivalent to -hda
+:: bootloader
+::start qemu-system-x86_64 -drive file=build/boot.bin,index=0,media=disk,format=raw -s -S
+:: img with bootload
+start qemu-system-x86_64 -drive file=ref.img,index=0,media=disk,format=raw -s -S
+:: start qemu-system-x86_64 -drive file=fat:build/boot.bin,index=0,media=disk,format=raw -s -S
+
+:: start lldb --arch x86_64 -s dbgcmd
+
+:: start windbgx -v -kx exdi:PathToSrvCfgFiles=exdiConfigData.xml,CLSID={29f9906e-9dbe-4d4b-b0fb-6acf7fb6d014},Kd=Guess,DataBreaks=Exdi