diff --git a/src/kernel/core/memory/allocator.c b/src/kernel/core/memory/allocator.c new file mode 100644 index 0000000..dec19a8 --- /dev/null +++ b/src/kernel/core/memory/allocator.c @@ -0,0 +1,16 @@ +/*----------------*\ +|Nanite OS | +|Copyright (C) 2024| +|Tyler McGurrin | +\*----------------*/ +#include "allocator.h" + +#include +#include +#include + +extern uint16_t DEBUG_COM_PORT; + +void alloc(size_t size) { + +} \ No newline at end of file diff --git a/src/kernel/core/memory/allocator.h b/src/kernel/core/memory/allocator.h new file mode 100644 index 0000000..4476f21 --- /dev/null +++ b/src/kernel/core/memory/allocator.h @@ -0,0 +1,14 @@ +/*----------------*\ +|Nanite OS | +|Copyright (C) 2024| +|Tyler McGurrin | +\*----------------*/ +#pragma once + +#include + +struct memory_block { + size_t size; + char free; + struct memory_block *next_free; +}; diff --git a/src/kernel/stddef.h b/src/kernel/stddef.h new file mode 100644 index 0000000..d0316d7 --- /dev/null +++ b/src/kernel/stddef.h @@ -0,0 +1,13 @@ +/*----------------*\ +|Nanite OS | +|Copyright (C) 2025| +|Tyler McGurrin | +\*----------------*/ +#pragma once + +#include + +#define NULL ((void*)0) + +typedef unsigned int size_t; + diff --git a/src/kernel/version.h b/src/kernel/version.h index 4f4f091..47a3b55 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-00050" \ No newline at end of file +#define VERSION "RD-00051" \ No newline at end of file diff --git a/write.sh b/write.sh index 757ac3d..5ea579f 100755 --- a/write.sh +++ b/write.sh @@ -1,21 +1,57 @@ -echo ------------ -echo COMPILING OS -echo ------------ +read -p "Do you want to write the IMG to A Disk? [Requires sudo] (y/n) " yn + echo ------------ + echo COMPILING OS + echo ------------ + + make + + echo --------- + echo Finished! + echo --------- + + echo ------------------------- + echo Installing GRUB To Image! + echo ------------------------- + + sudo losetup -d /dev/loop800 + dd if=/dev/zero of=build/main.img bs=512 count=50000 + mkdir -p build/mnt + sudo losetup -P /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/boot/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/loop800 -v + sudo umount build/mnt + sudo losetup -d /dev/loop800 + + echo --------- + echo Finished! + echo --------- -make -echo --------- -echo Finished! -echo --------- -read -p "Do you want to write the IMG to Floppy? (/dev/sdb) (y/n) " yn case $yn in y ) + read -p "What Drive? (ex: /dev/sda) " disk echo --------------------- - echo Writing IMG to Floppy + echo Writing IMG to Disk echo --------------------- - sudo dd if=./build/main_floppy.img of=/dev/sdb status=progress + sudo dd if=./build/main.img of=$disk status=progress echo --------- echo Finished!