Some Readme changes, add grub.cfg, change name of kernel binary

This commit is contained in:
Tyler McGurrin 2025-06-05 21:07:16 -04:00
parent 21b24619f0
commit 2e8023e4e2
3 changed files with 19 additions and 10 deletions

View File

@ -14,7 +14,7 @@ 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)
@ -25,16 +25,18 @@ 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])

7
grub/grub.cfg Normal file
View File

@ -0,0 +1,7 @@
set timeout=15
set default=0
menuentry "NANITE" {
multiboot2 /boot/nanite.bin
boot
}

View File

@ -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
rm -f $(BUILD_DIR)/nanite.bin