transfer to local git!

This commit is contained in:
2025-12-30 18:49:57 +00:00
commit 2305de8699
302 changed files with 3100 additions and 0 deletions

36
Makefile Normal file
View File

@@ -0,0 +1,36 @@
./out/scarab.img: ./out/isodir/boot/kernel.bin
cp ./boot/grub.cfg ./out/isodir/boot/grub/grub.cfg
grub-mkrescue -o ./out/scarab.img ./out/isodir
./out/isodir/boot/grub/grub.cfg: ./boot/grub.cfg
cp ./boot/grub.cfg ./out/isodir/boot/grub/grub.cfg
./out/isodir/boot/kernel.bin: ./out/boot.o ./out/rust_handshake.o ./out/multiboot_header.o ./out/libscarab.a ./boot/linker.ld
ld -n --gc-sections -o ./out/isodir/boot/kernel.bin -T ./boot/linker.ld ./out/multiboot_header.o ./out/boot.o ./out/rust_handshake.o ./target/x86_64-scarab_os/release/libscarab.a
# Rust code
./out/libscarab.a: ./src/lib.rs
@RUST_TARGET_PATH=$(shell pwd) cargo build --release
# Assembly booter
./out/multiboot_header.o: ./boot/multiboot_header.asm
nasm -felf64 ./boot/multiboot_header.asm -o ./out/multiboot_header.o
./out/rust_handshake.o: ./boot/rust_handshake.asm
nasm -felf64 ./boot/rust_handshake.asm -o ./out/rust_handshake.o
./out/boot.o: ./boot/boot.asm
nasm -felf64 ./boot/boot.asm -o ./out/boot.o
./out:
mkdir out
run:
qemu-system-x86_64 -display curses -drive format=raw,file=out/scarab.img -drive file=disk.img,format=raw,media=disk
clean:
rm -rf ./out/*
mkdir -p ./out/isodir/boot/grub
rm -rf target
cargo clean