summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile24
-rwxr-xr-xscripts/is_multiboot.sh10
-rw-r--r--src/c/tty.c6
-rw-r--r--src/grub.cfg4
4 files changed, 30 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 03b5c11..406447a 100644
--- a/Makefile
+++ b/Makefile
@@ -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
}