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,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. Designed for older computers such as a Pentium (i586) Class Machine. I would recomend atleast a Pentium 2 Class System or higher however.
## Features ## Features
- Support for the GRUB Bootloader - Support for the GNU GRUB Bootloader
- Custom Theme for GRUB (Coming Soon!) - Custom Theme for GRUB (Coming Soon!)
- Basic Memory Paging - Basic Memory Paging
- Support for Floppy Disk Drives (FDDs) - Support for Floppy Disk Drives (FDDs)
- Basic Serial (RS-232) Support - Basic Serial (RS-232) Support
- Keyboard Input - 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. All things are subject to change at any time.
## Building ## 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 ### Build Requirements
- mtools - mtools
- make - make
- gcc (or really any C compiler) - gcc (or really any C compiler)
- NASM - nasm
- GRUB - grub
## How is Testing Done ## 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]) 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 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) @$(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) $(BUILD_DIR)/kernel/c/%.obj: %.c $(HEADERS_C)
@mkdir -p $(@D) @mkdir -p $(@D)
@ -59,4 +59,4 @@ arch/i686/gen_isr.c arch/i686/gen_isr.inc:
@echo "--> Compiled: ISR Gen Files" @echo "--> Compiled: ISR Gen Files"
clean: clean:
rm -f $(BUILD_DIR)/kernel.bin rm -f $(BUILD_DIR)/nanite.bin