start messing with fat32

This commit is contained in:
2025-03-24 22:03:19 +03:00
parent bf6ab81791
commit bb5d94bb0c
6 changed files with 2108 additions and 8 deletions
+30 -4
View File
@@ -1,5 +1,5 @@
# Define the object files
OBJS = bin/boot.o bin/kernel.o bin/idt.o bin/isr.o bin/screen.o bin/utils.o bin/string.o bin/stdio.o bin/disk.o bin/pic.o bin/pit.o bin/keyboard.o bin/paging.o bin/page.o
OBJS = bin/boot.o bin/kernel.o bin/idt.o bin/isr.o bin/screen.o bin/utils.o bin/string.o bin/stdio.o bin/disk.o bin/pic.o bin/pit.o bin/keyboard.o bin/paging.o bin/page.o bin/fat.o
# Define the compiler and assembler
CC = gcc -D__is_katauos
@@ -10,7 +10,7 @@ CFLAGS = -std=gnu99 -ffreestanding -O0 -Wall -Wextra -m32 -g
ASFLAGS = -f elf32
# Define the linker flags
LDFLAGS = -ffreestanding -O0 -nostdlib -m32 -g
LDFLAGS = -ffreestanding -O0 -nostdlib -m32 -g -lgcc
LDSCRIPT = link.ld
# Define the output file
@@ -18,9 +18,32 @@ OUTPUT = myos.bin
all: $(OUTPUT)
image:
create-image:
cp myos.bin grubshit/boot/
grub-mkrescue -o boot.iso grubshit
#grub-mkrescue -o boot.iso grubshit
dd if=/dev/zero of=boot.iso bs=1M count=256
fdisk boot.iso
#sudo mkdosfs -F 32 -I boot.iso
sudo losetup /dev/loop0 boot.iso
sudo losetup /dev/loop1 boot.iso -o 1048576
#sudo mkdosfs -F32 -f 2 /dev/loop1
sudo mkfs.vfat -F 32 -f 2 /dev/loop1
sudo mount /dev/loop1 /mnt
sudo grub-install --root-directory=/mnt --no-floppy --modules="normal part_msdos ext2 multiboot biosdisk" /dev/loop0 #there was biosdev also
sudo cp -r grubshit/boot/ /mnt/
sync
sudo umount /mnt
sudo losetup -D
image:
cp myos.bin grubshit/boot
sudo losetup /dev/loop0 boot.iso
sudo losetup /dev/loop1 boot.iso -o 1048576
sudo mount /dev/loop1 /mnt
sudo cp -r grubshit/boot /mnt/
sync
sudo umount /mnt
sudo losetup -D
test:
qemu-system-i386 -drive file=boot.iso,media=disk,format=raw -m 512M -d int
@@ -73,6 +96,9 @@ bin/paging.o: src/paging.c
bin/page.o: src/page.asm
$(AS) $(ASFLAGS) $< -o $@
bin/fat.o: src/fat.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -rf bin/
rm -f $(OUTPUT)