Some Readme changes, add grub.cfg, change name of kernel binary
This commit is contained in:
parent
21b24619f0
commit
2e8023e4e2
14
README.md
14
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.
|
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
7
grub/grub.cfg
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
set timeout=15
|
||||||
|
set default=0
|
||||||
|
|
||||||
|
menuentry "NANITE" {
|
||||||
|
multiboot2 /boot/nanite.bin
|
||||||
|
boot
|
||||||
|
}
|
||||||
@ -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
|
||||||
Loading…
x
Reference in New Issue
Block a user