diff options
| -rw-r--r-- | Makefile | 24 | ||||
| -rwxr-xr-x | scripts/is_multiboot.sh | 10 | ||||
| -rw-r--r-- | src/c/tty.c | 6 | ||||
| -rw-r--r-- | src/grub.cfg | 4 |
4 files changed, 30 insertions, 14 deletions
@@ -39,7 +39,7 @@ GCC_USR_DIR=$(shell $(CC) -print-file-name=) # TARGET -TARGET=myos +TARGET=aleksa-os BINARY=$(BUILD_DIR)/$(TARGET).bin ISO=$(TARGET).iso @@ -66,9 +66,12 @@ GRUB.CFG=$(SOURCE_DIR)/grub.cfg # RULES -.PHONY: all compile run run-iso clean install_headers +.PHONY: all clean compile install_headers iso run run-iso all: compile +clean: + $(RM) $(BUILD_DIR) $(ISO_DIR) $(ISO) + $(BINARY): $(OBJ) $(CC) -T $(LINKER) -o $(BINARY) $(CFLAGS) -nostdlib -lgcc $(OBJ) @@ -80,19 +83,22 @@ compile: @$(MAKE) --directory $(SOURCE_DIR) $(MAKE) $(BINARY) -$(ISO): $(BINARY) - grub-file --is-x86-multiboot $(BINARY) +$(ISO): $(OBJ) $(GRUB.CFG) +ifeq ($(shell ./scripts/is_multiboot.sh), 0) $(MKDIR) $(ISO_DIR)/boot/grub $(CP) $(BINARY) $(ISO_DIR)/boot/$(TARGET).bin $(CP) $(GRUB.CFG) $(ISO_DIR)/boot/grub/grub.cfg grub-mkrescue -o $(ISO) $(ISO_DIR) +else + @echo "$(BINARY) is not x86 multiboot compatible" + $(RM) $(BINARY) +endif + +iso: compile + $(MAKE) $(ISO) run: compile $(QEMU) -kernel $(BINARY) $(QEMU_DEBUG) -run-iso: compile - $(MAKE) $(ISO) +run-iso: iso $(QEMU) -cdrom $(ISO) - -clean: - $(RM) $(BUILD_DIR) $(ISO_DIR) $(ISO) diff --git a/scripts/is_multiboot.sh b/scripts/is_multiboot.sh new file mode 100755 index 0000000..17acda4 --- /dev/null +++ b/scripts/is_multiboot.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +BINARY=./build/aleksa-os.bin + +if [ -f ${BINARY} ]; then + grub-file --is-x86-multiboot ${BINARY} + echo $? +else + echo 1 +fi diff --git a/src/c/tty.c b/src/c/tty.c index 23eb204..344c720 100644 --- a/src/c/tty.c +++ b/src/c/tty.c @@ -70,15 +70,15 @@ void uptime(void) void prompt(void) { - //printf("[user@myos]$ "); + //printf("[aleksa@aleksa-os]$ "); set_color(VGA_COLOR_RED,VGA_COLOR_BLACK); printf("["); set_color(VGA_COLOR_YELLOW,VGA_COLOR_BLACK); - printf("user"); + printf("aleksa"); set_color(VGA_COLOR_GREEN,VGA_COLOR_BLACK); printf("@"); set_color(VGA_COLOR_BLUE,VGA_COLOR_BLACK); - printf("myos"); + printf("aleksa-os"); set_color(VGA_COLOR_RED,VGA_COLOR_BLACK); printf("]"); set_color(VGA_COLOR_LIGHT_GREY,VGA_COLOR_BLACK); diff --git a/src/grub.cfg b/src/grub.cfg index ba19176..fdf6530 100644 --- a/src/grub.cfg +++ b/src/grub.cfg @@ -1,6 +1,6 @@ set timeout=5 set default=0 -menuentry "myos" { - multiboot /boot/myos.bin +menuentry "aleksa-os" { + multiboot /boot/aleksa-os.bin } |
