diff --git a/Makefile b/Makefile index a07c5c0..5999d52 100644 --- a/Makefile +++ b/Makefile @@ -1,30 +1,25 @@ include build_scripts/config.mk -.PHONY: all floppy_image kernel bootloader clean always tools_fat +.PHONY: all floppy_image kernel bootloader clean always -all: image +all: kernel include build_scripts/toolchain.mk -# oldnum = cat version -# newnum = expr $(oldnum) + 1 -# export oldnum -# export newnum # # Image # -image: $(BUILD_DIR)/main.img +# image: $(BUILD_DIR)/main.img -$(BUILD_DIR)/main.img: bootloader kernel - dd if=/dev/zero of=$(BUILD_DIR)/main.img bs=512 count=20000 - mkfs.ext2 $(BUILD_DIR)/main.img - e2mkdir $(BUILD_DIR)/main.img:boot - e2mkdir $(BUILD_DIR)/main.img:misc - e2mkdir $(BUILD_DIR)/main.img:misc/src - e2mkdir $(BUILD_DIR)/main.img:boot/grub -# e2cp -v -s src/ -d $(BUILD_DIR)/main.img:misc/src really, really, really slow... - e2cp grub/* $(BUILD_DIR)/main.img:boot/grub - mkdir -p $(BUILD_DIR)/mnt +# $(BUILD_DIR)/main.img: bootloader kernel +# dd if=/dev/zero of=$(BUILD_DIR)/main.img bs=512 count=20000 +# mkfs.ext2 $(BUILD_DIR)/main.img +# e2mkdir $(BUILD_DIR)/main.img:boot +# e2mkdir $(BUILD_DIR)/main.img:misc +# e2mkdir $(BUILD_DIR)/main.img:misc/src +# e2mkdir $(BUILD_DIR)/main.img:boot/grub +# e2cp grub/* $(BUILD_DIR)/main.img:boot/grub +# mkdir -p $(BUILD_DIR)/mnt # # Kernel diff --git a/build.sh b/build.sh index fb93164..816f3c4 100755 --- a/build.sh +++ b/build.sh @@ -31,22 +31,37 @@ make -s echo --------- echo Finished! echo --------- -read -p "Do you want to make to make image bootable? [Requires sudo] (y/n) " yn +read -p "Do you want to make to make a bootable image? [Requires sudo] (y/n) " yn case $yn in y) echo ---------------- echo Installing GRUB! echo ---------------- - sudo losetup -d /dev/loop500 - sudo losetup /dev/loop500 build/main.img + sudo losetup -d /dev/loop800 + dd if=/dev/zero of=build/main.img bs=512 count=50000 + mkdir -p build/mnt + sudo losetup /dev/loop800 build/main.img + sudo parted /dev/loop800 mktable msdos + sudo parted /dev/loop800 mkpart primary fat16 2048s 100% + sudo parted /dev/loop800p1 set 1 boot on + sudo mkfs.fat -F16 /dev/loop800p1 + sudo mount /dev/loop800p1 build/mnt + sudo mkdir build/mnt/boot + sudo mkdir build/mnt/boot/grub + sudo mkdir build/mnt/misc + sudo mkdir build/mnt/misc/src + sudo cp -r src/* build/mnt/src + sudo cp -r grub/* build/mnt/grub + sudo cp build/nanite.bin build/mnt/boot/nanite sudo grub-install \ --modules="part_msdos" \ --boot-directory=build/mnt/boot \ --target=i386-pc \ --bootloader-id=GRUB \ - /dev/loop500 -v - sudo losetup -d /dev/loop500 + /dev/loop800 -v + sudo umount build/mnt + sudo losetup -d /dev/loop800 ;; n ) echo exiting...; diff --git a/src/kernel/boot.asm b/src/kernel/boot.asm index 8848492..4ecf793 100644 --- a/src/kernel/boot.asm +++ b/src/kernel/boot.asm @@ -36,7 +36,7 @@ entry: cli hlt -section .multiboot_header +section .text header_start: dd 0xe85250d6 ; magic number dd 0 ; protected mode code diff --git a/src/kernel/version.h b/src/kernel/version.h index 3332737..370bd4f 100644 --- a/src/kernel/version.h +++ b/src/kernel/version.h @@ -6,4 +6,4 @@ #pragma once #define LOGO " _ _____ _ __________________\n / | / / | / | / / _/_ __/ ____/\n / |/ / /| | / |/ // / / / / __/ \n / /| / ___ |/ /| // / / / / /___ \n/_/ |_/_/ |_/_/ |_/___/ /_/ /_____/ \n" -#define VERSION "RD-00038" \ No newline at end of file +#define VERSION "RD-00039" \ No newline at end of file