diff --git a/README.md b/README.md index 5bce647..93dc7a6 100644 --- a/README.md +++ b/README.md @@ -14,27 +14,29 @@ Good luck figuring out the spagetti code i write... (sorry not sorry ;D) Designed for older computers such as a Pentium (i586) Class Machine. I would recomend atleast a Pentium 2 Class System or higher however. ## Features -- Support for the GRUB Bootloader +- Support for the GNU GRUB Bootloader - Custom Theme for GRUB (Coming Soon!) - Basic Memory Paging - Support for Floppy Disk Drives (FDDs) - Basic Serial (RS-232) Support - Keyboard Input -Note:Kernel is currently under very heavy development. +Note: Kernel is currently under very heavy development. All things are subject to change at any time. ## Building -You Basically Run `./build.sh` to build it +Run `./build.sh` inside main directory of repo -If you wanted to write it to a floppy disk you can use `write.sh` tho be careful as the value for what drive it uses is hard coded as /dev/sdb +To write to a disk, use `./write.sh` WARNING: **is hard coded to /dev/sdb** (sorry i suck at scripting) + +You could also run `make all` but the scripts a bit better tbh, it even automates starting QEMU. ### Build Requirements - mtools - make - gcc (or really any C compiler) -- NASM -- GRUB +- nasm +- grub ## How is Testing Done Testing is mostly done with QEMU These days, but I do sometimes pull out my Dell Latitude D610 to test on (for anyone wondering its completely maxed out. [2GB of ram Pentium M @ 2.23GHz]) diff --git a/grub/grub.cfg b/grub/grub.cfg new file mode 100644 index 0000000..ea757c6 --- /dev/null +++ b/grub/grub.cfg @@ -0,0 +1,7 @@ +set timeout=15 +set default=0 + +menuentry "NANITE" { + multiboot2 /boot/nanite.bin + boot +} \ No newline at end of file diff --git a/src/kernel/Makefile b/src/kernel/Makefile index 7b4c5ab..89f85e8 100644 --- a/src/kernel/Makefile +++ b/src/kernel/Makefile @@ -38,11 +38,11 @@ OBJECTS_ASM = $(patsubst %.asm, $(BUILD_DIR)/kernel/asm/%.obj, $(SOURCES_ASM)) all: kernel -kernel: $(BUILD_DIR)/kernel.bin +kernel: $(BUILD_DIR)/nanite.bin -$(BUILD_DIR)/kernel.bin: $(OBJECTS_ASM) $(OBJECTS_C) +$(BUILD_DIR)/nanite.bin: $(OBJECTS_ASM) $(OBJECTS_C) @$(TARGET_LD) $(TARGET_LINKFLAGS) -Wl,-Map=$(BUILD_DIR)/kernel.map -o $@ $^ $(TARGET_LIBS) - @echo "--> Created: kernel.bin" + @echo "--> Created: nanite.bin" $(BUILD_DIR)/kernel/c/%.obj: %.c $(HEADERS_C) @mkdir -p $(@D) @@ -59,4 +59,4 @@ arch/i686/gen_isr.c arch/i686/gen_isr.inc: @echo "--> Compiled: ISR Gen Files" clean: - rm -f $(BUILD_DIR)/kernel.bin \ No newline at end of file + rm -f $(BUILD_DIR)/nanite.bin \ No newline at end of file