From 9fe92009e5bf736bc8777a980aa6ba0917f766b1 Mon Sep 17 00:00:00 2001 From: notsomeidiot123 Date: Sun, 24 Aug 2025 20:11:51 -0400 Subject: [PATCH] some changes to the build process --- c_build_helper.sh | 2 +- makefile | 25 +++++++++++++++++-------- tools/diskwrite.c | 6 +++--- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/c_build_helper.sh b/c_build_helper.sh index ffd68bb..842d0a1 100644 --- a/c_build_helper.sh +++ b/c_build_helper.sh @@ -5,7 +5,7 @@ cd src/kernel/ gcc kmain.c $CFLAGS -o ../../bin/kernel/kmain.o for d in ./*/; do if [ "$d" != "./obj/" ]; then - echo -e "\033[1;32mCompiling files in $d\033[0m" + echo "\033[1;32mCompiling files in $d\033[0m" for f in $d*.c; do echo -e "\033[1;36mfile: $f\033[0m" SUF=".c" diff --git a/makefile b/makefile index 3a6450a..7293862 100644 --- a/makefile +++ b/makefile @@ -10,25 +10,34 @@ OBJS := $(patsubst src/kernel/%.c, bin/kernel/%.o, $(SRCS)) all: bootloader tools kernel cp bin/bootloader.bin image.bin qemu-img resize -f raw image.bin 512M - ./diskwrite -v -l idm.elf ifsm.elf kernel.elf -o image.bin + ./diskwrite idm.elf ifsm.elf kernel.elf -o image.bin + sudo mount image.bin mount + sudo mkdir mount/mod # for kernel modules + sudo mkdir mount/bin # for binary executables + sudo mkdir mount/sys # for system files # ./diskwrite -v -o image.bin # ./diskwrite -v -l kernel.elf idm.elf -o image.bin qemu-system-i386 -hda image.bin --no-reboot --no-shutdown -m 32m -smp 2 -serial mon:stdio -D intlog.txt -d int + sudo umount mount + tools: $(CC) tools/diskwrite.c -o diskwrite +mount: bootloader tools kernel + cp bin/bootloader.bin image.bin + qemu-img resize -f raw image.bin 512M + ./diskwrite -l idm.elf ifsm.elf kernel.elf -o image.bin + sudo mount image.bin mount + sudo mkdir mount/mod + sudo mkdir mount/bin + sudo mkdir mount/sys + @echo "\e[31mrun 'sudo umount mount' to unmount\e[0m" + bootloader: $(AS) src/bootloader/main.s $(BL_ASFLAGS) -o bin/bootloader.bin run: qemu-system-i386 -hda image.bin --no-reboot --no-shutdown -m 32m -smp 2 -serial mon:stdio -D intlog.txt -d int -test: bootloader tools kernel - cp bin/bootloader.bin image.bin - qemu-img resize -f raw image.bin 512M - ./diskwrite -v -o image.bin - fsck.fat image.bin - sudo cp kernel.elf test/kernel.elf - make run # kernel: $(OBJS) kernel: nasm src/kernel/entry.s -o bin/kernel/entry.o -f elf32 diff --git a/tools/diskwrite.c b/tools/diskwrite.c index bca400d..f9e9e5f 100644 --- a/tools/diskwrite.c +++ b/tools/diskwrite.c @@ -151,7 +151,7 @@ int write_file(fat_info *info, file_t *file, buffer_t buffer, size_t size, FILE uint8_t *new_buffer = calloc(1, clusters * (info->bpb.bytes_per_sector * info->bpb.sectors_per_cluster )); memcpy(new_buffer, buffer, size); uint32_t cluster = first_cluster; - printf("start: %d count: %d\n", cluster, clusters); + // printf("start: %d count: %d\n", cluster, clusters); // return -1; for(uint32_t i = 0; i < clusters; i++){ write_sector(disk, info->bpb.reserved_sectors + info->file_table_size_sectors + info->bpb.partition_start + ((cluster - 2) * info->bpb.sectors_per_cluster), info->bpb.sectors_per_cluster, new_buffer + i * info->bpb.sectors_per_cluster * info->bpb.bytes_per_sector); @@ -176,7 +176,7 @@ int create_file(char *path, fat_info *info, FILE *file, FILE *disk){ while(root_files[index].filename[0]){ index++; } - printf("%s\n", root_files[index].filename); + // printf("%s\n", root_files[index].filename); verbose && printf("Creating file at index: %d\n", index); char *ext = strchr(path, '.'); char *tmpptr = path; @@ -280,7 +280,7 @@ int main(int argc, char **argv){ // return 0; // } for(int i = 0; i < filec; i++){ - printf("\033[1;34mWriting file %d in list: %s\033[0m\n", i, files[i]); + // printf("\033[1;34mWriting file %d in list: %s\033[0m\n", i, files[i]); FILE *f = fopen(files[i], "r"); if(!f){ printf("Error Opening file\n");