diff --git a/.gitignore b/.gitignore index f3ac583..e40bc17 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -*.bin \ No newline at end of file +*.bin +*.o \ No newline at end of file diff --git a/build/kernel.o b/build/kernel.o index cc28f29..bda9130 100644 Binary files a/build/kernel.o and b/build/kernel.o differ diff --git a/makefile b/makefile index ebd01ee..8c55fd5 100644 --- a/makefile +++ b/makefile @@ -1,26 +1,26 @@ build: build/os.bin @echo "Build succeded" - -build/boot.bin: src/boot.asm - nasm -f bin -o build/boot.bin src/boot.asm - -build/kernel_entry.o: src/kernel_entry.asm - nasm -f elf -o build/kernel_entry.o src/kernel_entry.asm - -build/kernel.o: src/kernel.c - i386-elf-gcc -ffreestanding -m32 -c -o build/kernel.o src/kernel.c - -build/kernel.bin:build/kernel.o build/kernel_entry.o - i386-elf-ld -o build/kernel.bin -Ttext 0x1000 build/kernel_entry.o build/kernel.o --oformat binary - -build/zeroes.bin: - dd if=/dev/zero of=build/zeroes.bin bs=1 count=10240 - -build/os.bin: build/boot.bin build/kernel.bin build/zeroes.bin - cat build/boot.bin build/kernel.bin build/zeroes.bin > build/os.bin run: build/os.bin qemu-system-x86_64 -drive file=build/os.bin,format=raw,index=0,media=disk +build/os.bin: build/boot.bin build/kernel.bin build/zeroes.bin + cat build/boot.bin build/kernel.bin build/zeroes.bin > build/os.bin + +build/kernel.bin: build/kernel.o build/kernel_entry.o + i386-elf-ld -o build/kernel.bin -Ttext 0x1000 build/kernel_entry.o build/kernel.o --oformat binary + +build/kernel.o: src/kernel.c + i386-elf-gcc -ffreestanding -m32 -c -o build/kernel.o src/kernel.c + +build/kernel_entry.o: src/kernel_entry.asm + nasm -f elf -o build/kernel_entry.o src/kernel_entry.asm + +build/boot.bin: src/boot.asm + nasm -f bin -o build/boot.bin src/boot.asm + +build/zeroes.bin: + dd if=/dev/zero of=build/zeroes.bin bs=1 count=10240 + clean: @rm build/* 2>/dev/null || true diff --git a/src/kernel.c b/src/kernel.c index c60b5b2..9b6317e 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -1,6 +1,5 @@ int main(void) { *(char*)0xb8000 = 'A'; - *(char*)0xb8001 = 'B'; return 0; } \ No newline at end of file