diff --git a/.build/iso/boot/grub/grub.cfg b/.build/iso/boot/grub/grub.cfg deleted file mode 100644 index 08a2ab9..0000000 --- a/.build/iso/boot/grub/grub.cfg +++ /dev/null @@ -1,4 +0,0 @@ -menuentry "nub-os" { - multiboot /boot/kernel.bin - boot -} diff --git a/.gitignore b/.gitignore index 4cf3c42..b7f1399 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ -*.bin -*.o -*.iso \ No newline at end of file +.build \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0d9accc --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# Nub OS + +## Dependencies + +- `make` +- `grub` +- `mtools` +- `i386-elf-gcc` +- `i386-elf-ld` + +## Building + +```sh +# Create iso +make iso +# Run virtual machine with your iso +qemu-system-x86_64 -cdrom .build/nub-os.iso +``` diff --git a/makefile b/makefile index 7a8c7bb..be17e9c 100644 --- a/makefile +++ b/makefile @@ -1,5 +1,8 @@ +BUILDDIR=mkdir-build CC = i386-elf-gcc -ffreestanding -m32 +iso: .build/ .build/nub-os.iso + .build/nub-os.iso: .build/kernel.bin mkdir -p .build/iso/boot/grub cp grub.cfg .build/iso/boot/grub @@ -24,5 +27,8 @@ CC = i386-elf-gcc -ffreestanding -m32 run: .build/nub-os.iso qemu-system-x86_64 -cdrom .build/nub-os.iso +.build/: + mkdir .build + clean: - @rm -r .build/* 2>/dev/null || true + @rm -r .build 2>/dev/null || true