added proper VGA graphics

This commit is contained in:
justuswolff
2026-03-14 23:17:48 +01:00
parent 8d19f45da2
commit 233f956119
8 changed files with 337 additions and 126 deletions

View File

@@ -1,16 +1,16 @@
build: prepare copygrub
nasm -felf32 src/bootload/boot.asm -o build/boot.o # entrypoint for grub
nasm -felf32 src/kernel/driverdriver.asm -o build/drivdriv.o # driver code for drivers
#nasm -felf32 src/kernel/driverdriver.asm -o build/drivdriv.o # driver code for drivers
gcc -c src/kernel/entry.c -o build/kernel.o -ffreestanding -O2 -Wall -Wextra -m32 # kernel
gcc -c src/kernel/registrar.c -o build/registrar.o -ffreestanding -O2 -Wall -Wextra -m32 # registrar
gcc -c src/kernel/stdlib.c -o build/stdlib.o -ffreestanding -O2 -Wall -Wextra -m32 # registrar
gcc -c src/kernel/stdlib.c -o build/stdlib.o -ffreestanding -O2 -Wall -Wextra -m32 # stdlib
gcc -c src/kernel/graphics.c -o build/graphics.o -ffreestanding -O2 -Wall -Wextra -m32 # VGA graphics
gcc -c initrd/vga/main.c -o build/initrddir/vga_graph -ffreestanding -O2 -Wall -Wextra -m32 # initrd/vga driver
tar -czf build/initrd build/initrddir/* # build initrd
gcc -m32 -T linker.ld -o build/linked -ffreestanding -O2 -nostdlib build/boot.o build/kernel.o build/registrar.o build/drivdriv.o build/stdlib.o -fno-pie -fno-pic -no-pie # link
gcc -z noexecstack -m32 -T linker.ld -o build/linked -ffreestanding -O2 -nostdlib build/graphics.o build/boot.o build/kernel.o build/registrar.o build/stdlib.o -fno-pie -fno-pic -no-pie # link
cp build/linked build/grub/boot/kernel # copy kernel over to grub template
cp build/initrd build/grub/boot/JPOS.initrd # copy initrd to grub template
@@ -19,11 +19,11 @@ build: prepare copygrub
test: build
qemu-system-i386 \
-boot d \
-cdrom build/live.iso
-cdrom build/live.iso
copygrub:
cp grubtemplate -r build/grub
prepare: clean
mkdir build
mkdir build/initrddir
clean:
-rm -rf build
-rm -rf build